<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <link rel="canonical" href="https://blog.csdn.net/jw690114549/article/details/69396267"/>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="renderer" content="webkit"/>
    <meta name="force-rendering" content="webkit"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="report" content='{"pid":"blog"}'>
    <meta name="referrer" content="always">
    <meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="alternate" media="handheld" href="#" />
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
        <meta name="csdn-baidu-search"  content='{"autorun":true,"install":true,"keyword":"理解Python进程Process - 蒋狗的博客"}'>
    
    <link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
    <title>理解Python进程Process - 蒋狗的博客 - CSDN博客</title>
    <meta name="description" content="理解Python进程Process">

        
                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/detail-52bde8d329.min.css">
                    
            <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/themes/skin-yellow/skin-yellow-db01cea9f7.min.css">
    
<!--    自定义皮肤样式-->
    
    <script type="text/javascript">
        var username = "jw690114549";
        var blog_address = "https://blog.csdn.net/jw690114549";
        var static_host = "https://csdnimg.cn/release/phoenix/";
        var currentUserName = "";
        var isShowAds = true;
        var isOwner = false;
        var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/jw690114549/article/details/69396267"
        var blogUrl = "https://blog.csdn.net/";

        var curSkin = "skin-yellow";
        // 收藏所需数据
        var articleTitle = "理解Python进程Process";
        var articleDesc = "理解Python进程Process";
        // 第四范式所需数据
        var articleTitles = "理解Python进程Process - 蒋狗的博客";
        
        var nickName = "蒋狗";
        var isCorporate = false;
        var subDomainBlogUrl = "https://blog.csdn.net/"
        var digg_base_url = "https://blog.csdn.net/jw690114549/phoenix/comment";
        var articleDetailUrl = "https://blog.csdn.net/jw690114549/article/details/69396267";
        var isShowThird = "0"
    </script>
    <script src="https://csdnimg.cn/public/common/libs/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
    <!--js引用-->
            <script src="//g.csdnimg.cn/??fixed-sidebar/1.1.6/fixed-sidebar.js,lib/fingerprintjs2/2.1.0/fingerprint2.min.js,report/1.1.1/report.js" type="text/javascript"></script>
    <link rel="stylesheet" href="https://csdnimg.cn/public/sandalstrap/1.4/css/sandalstrap.min.css">
    <style>
        .MathJax, .MathJax_Message, .MathJax_Preview{
            display: none
        }
    </style>
</head>
<body class="nodata " > 
    <link rel="stylesheet" href="https://csdnimg.cn/public/common/toolbar/content_toolbar_css/content_toolbar.css">
    <script id="toolbar-tpl-scriptId" src="https://csdnimg.cn/public/common/toolbar/js/content_toolbar.js" type="text/javascript" domain="https://blog.csdn.net/"></script>
    <script>
    (function(){
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        }
        else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
</script>
<div id="kp_box_476" data-pid="476"><script src="//csdnimg.cn/public/common/indexSuperise/1.1.1/indexSuperise.js?20190111165312"></script><script>window.csdn.indexSuperise({smallMoveImg:'https://img-bss.csdn.net/1563176736560.png',bigMoveImg:'https://img-bss.csdn.net/1563176731384.png',link:'https://kunyu.csdn.net?d=2&m=JALcnJQiipQibHcttDJbtmHLLLSpJicEJSJnQpmnyEHLiEifJbyJXHDJAAXnSbvHpQnAWQUtyXiiQbAibvtpoSJJmLJHJbEcAQLQ&k=&dest=https%3A%2F%2Fedu.csdn.net%2Ftopic%2Fai30%3Futm_source%3Dblogpopup4&timestamp=1573805046432&signature=4617d3fc064fc7fa65c511e45dcf1e6aaab60feb',trackSuperId:476,smallMove:'notMove',trackSId:1087});</script><img class="pre-img-lasy" data-src='https://kunyu.csdn.net/1.png?d=2&k=&m=JALcnJQiipQibHcttDJbtmHLLLSpJicEJSJnQpmnyEHLiEifJbyJXHDJAAXnSbvHpQnAWQUtyXiiQbAibvtpoSJJmLJHJbEcAQLQ'></div><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/blog_code-c3a0c33d5c.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/vendor/pagination/paging-e040f0c7c8.css">

<script type="text/javascript">
	var NEWS_FEED = function(){}
</script>

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/chart-3456820cac.css" />
<div class="main_father clearfix d-flex justify-content-center" style="height:100%;"> 
    <div class="container clearfix" id="mainBox">
        <div  class='space_container'></div>
        <main>
            <div class="blog-content-box">
    <div class="article-header-box">
        <div class="article-header">
            <div class="article-title-box">
                <span class="article-type type-1 float-left">原创</span>                <h1 class="title-article">理解Python进程Process</h1>
            </div>
            <div class="article-info-box">
                <div class="article-bar-top">
                                                                                                                                                                <span class="time">2017-04-06 16:22:53</span>
                    <a class="follow-nickName" href="https://me.csdn.net/jw690114549" target="_blank" rel="noopener">蒋狗</a>
                    <span class="read-count">阅读数 16255</span>
                                                                                                                <div class="tags-box space">
                                <span class="label">分类专栏：</span>
                                                                                                            <a class="tag-link" target="_blank" rel="noopener"
                                           href="https://blog.csdn.net/jw690114549/article/category/6843077">
                                            python                                        </a>
                                                                                                </div>
                                        </div>
                <div class="operating">
                                    </div>
            </div>
        </div>
    </div>
    <article class="baidu_pl">
                 <div id="article_content" class="article_content clearfix">
                                                <div class="article-copyright">
                <span class="creativecommons">
                <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">
                    </a>
            <span>
                版权声明：本文为博主原创文章，遵循<a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="noopener"> CC 4.0 BY-SA </a>版权协议，转载请附上原文出处链接和本声明。            </span>
               <div class="article-source-link2222">
                    本文链接：<a href="https://blog.csdn.net/jw690114549/article/details/69396267">https://blog.csdn.net/jw690114549/article/details/69396267</a>
                </div>
            </span>
                    </div>
                                                    <!--一个博主专栏付费入口-->
             
             <!--一个博主专栏付费入口结束-->
            <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-4a3473df85.css" />
                                        <div id="content_views" class="markdown_views prism-atom-one-dark">
                    <!-- flowchart 箭头图标 勿删 -->
                    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                                            <p>Demo代码和引用知识点都参考自<a href="http://mp.weixin.qq.com/s/Km-HAY9Jbg5hbuTl5Xj8dw" rel="nofollow">《理解Python并发编程一篇就够了 - 进程篇》–董伟明</a>或作者个人公众号Python之美， 《Python Cookbook》和<a href="http://www.liaoxuefeng.com/" rel="nofollow">廖雪峰Python3教程</a>。</p>



<h5 id="基本使用">基本使用</h5>

<p>运用多进程时，将方法放在main()中，否则会出现异常警告。</p>

<p><code>Process()</code> 基本使用：与<code>Thread()</code>类似。</p>

<p><code>Pool()</code> 基本使用：</p>

<blockquote>
  <p>其中map方法用起来和内置的map函数一样，却有多进程的支持。</p>
</blockquote>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> Pool
pool = Pool(<span class="hljs-number">2</span>)
pool.map(fib, [<span class="hljs-number">35</span>] * <span class="hljs-number">2</span>)</code></pre>

<p><code>multiprocessing.dummy</code> 模块：</p>

<blockquote>
  <p>multiprocessing.dummy replicates the API of multiprocessing but is no more than a wrapper around the threading module.</p>
</blockquote>

<p>对于以上部分知识点，没有实际运用过，只是单纯了解并编写Demo进行了练习，理解没有很透彻。</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>
<span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> Process, Pool
<span class="hljs-keyword">from</span> multiprocessing.dummy <span class="hljs-keyword">import</span> Pool <span class="hljs-keyword">as</span> DummyPool
<span class="hljs-keyword">import</span> time
<span class="hljs-keyword">import</span> datetime

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">log_time</span><span class="hljs-params">(methond_name)</span>:</span>
    <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">decorator</span><span class="hljs-params">(f)</span>:</span>
        <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">wrapper</span><span class="hljs-params">(*args, **kwargs)</span>:</span>
            start_time = time.time()
            res = f(*args, **kwargs)
            end_time = time.time()
            print(<span class="hljs-string">'%s cost %ss'</span> % (methond_name, (end_time - start_time)))
            <span class="hljs-keyword">return</span> res
        <span class="hljs-keyword">return</span> wrapper
    <span class="hljs-keyword">return</span> decorator

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">fib</span><span class="hljs-params">(n)</span>:</span>
    <span class="hljs-keyword">if</span> n &lt;=<span class="hljs-number">2</span> :
        <span class="hljs-keyword">return</span> <span class="hljs-number">1</span>
    <span class="hljs-keyword">return</span> fib(n-<span class="hljs-number">1</span>) + fib(n-<span class="hljs-number">2</span>)

<span class="hljs-decorator">@log_time('single_process')</span>
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">single_process</span><span class="hljs-params">()</span>:</span>
    fib(<span class="hljs-number">33</span>)
    fib(<span class="hljs-number">33</span>)

<span class="hljs-decorator">@log_time('multi_process')</span>
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">multi_process</span><span class="hljs-params">()</span>:</span>
    jobs = []
    <span class="hljs-keyword">for</span> _ <span class="hljs-keyword">in</span> range(<span class="hljs-number">2</span>):
        p = Process(target=fib, args=(<span class="hljs-number">33</span>, ))
        p.start()
        jobs.append(p)
    <span class="hljs-keyword">for</span> j <span class="hljs-keyword">in</span> jobs:
        j.join()


<span class="hljs-decorator">@log_time('pool_process')</span>
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">pool_process</span><span class="hljs-params">()</span>:</span>
    pool = Pool(<span class="hljs-number">2</span>)
    pool.map(fib, [<span class="hljs-number">33</span>]*<span class="hljs-number">2</span>)


<span class="hljs-decorator">@log_time('dummy_pool')</span>
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">dummy_pool</span><span class="hljs-params">()</span>:</span>
    pool = DummyPool(<span class="hljs-number">2</span>)
    pool.map(fib, [<span class="hljs-number">33</span>]*<span class="hljs-number">2</span>)


<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:
    single_process()
    multi_process()
    pool_process()
    dummy_pool()</code></pre>

<hr>



<h4 id="基于pipe的parmap">基于Pipe的parmap</h4>

<p>理解稍有困难。</p>

<hr>



<h4 id="队列">队列</h4>

<p>实现生产消费者模型，一个队列存放任务，一个队列存放结果。 <br>
<code>multiprocessing</code>模块下也有<code>Queue</code>，但不提供<code>task_done()</code>和<code>join()</code>方法。故利用<code>Queue</code>存放结果，<code>JoinableQueue()</code> 来存放任务。</p>

<p>仿照的Demo，一个消费者进程和一个生产者进程：</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>
<span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> Process, Queue, JoinableQueue
<span class="hljs-keyword">import</span> time
<span class="hljs-keyword">import</span> random

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">double</span><span class="hljs-params">(n)</span>:</span>
    <span class="hljs-keyword">return</span> n * <span class="hljs-number">2</span> 

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">producer</span><span class="hljs-params">(name, task_q)</span>:</span>
    <span class="hljs-keyword">while</span> <span class="hljs-number">1</span>:
        n = random.random()
        <span class="hljs-keyword">if</span> n &gt; <span class="hljs-number">0.8</span>:  <span class="hljs-comment"># 大于0.8时跳出</span>
            task_q.put(<span class="hljs-keyword">None</span>)
            print(<span class="hljs-string">'%s break.'</span> % name)
            <span class="hljs-keyword">break</span>
        print(<span class="hljs-string">'%s produce %s.'</span> % (name, n))
        task_q.put((double, n))


<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">consumer</span><span class="hljs-params">(name, task_q, result_q)</span>:</span>
    <span class="hljs-keyword">while</span> <span class="hljs-number">1</span>:
        task = task_q.get()
        <span class="hljs-keyword">if</span> task <span class="hljs-keyword">is</span> <span class="hljs-keyword">None</span>:
            print(<span class="hljs-string">'%s break.'</span> % name)
            <span class="hljs-keyword">break</span>
        func, arg = task
        res = func(arg)
        time.sleep(<span class="hljs-number">0.5</span>)  <span class="hljs-comment"># 阻塞</span>
        task_q.task_done()
        result_q.put(res)
        print(<span class="hljs-string">'%s consume %s, result %s'</span> % (name, arg, res))

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">run</span><span class="hljs-params">()</span>:</span>
    task_q = JoinableQueue()
    result_q = Queue()
    processes = []
    p1 = Process(name=<span class="hljs-string">'p1'</span>, target=producer, args=(<span class="hljs-string">'p1'</span>, task_q))
    c1 = Process(name=<span class="hljs-string">'c1'</span>, target=consumer, args=(<span class="hljs-string">'c1'</span>, task_q, result_q))
    p1.start()
    c1.start()
    processes.append(p1)
    processes.append(c1)

    <span class="hljs-comment"># join()阻塞主进程</span>
    <span class="hljs-keyword">for</span> p <span class="hljs-keyword">in</span> processes:
        p.join()

    <span class="hljs-comment"># 子进程结束后，输出result中的值</span>
    <span class="hljs-keyword">while</span> <span class="hljs-number">1</span>:
        <span class="hljs-keyword">if</span> result_q.empty():
            <span class="hljs-keyword">break</span>
        result = result_q.get()
        print(<span class="hljs-string">'result is: %s'</span> % result)

<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:
    run()</code></pre>

<p>如果存在多个<code>consumer()</code>进程，只会有一个<code>consumer()</code>进程能取出<code>None</code>并break，其他的则会在<code>task_q.get()</code>一直挂起，尝试在<code>consumer()</code>方法中添加超时退出。</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-keyword">import</span> queue

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">consumer</span><span class="hljs-params">(name, task_q, result_q)</span>:</span>
    <span class="hljs-keyword">while</span> <span class="hljs-number">1</span>:
        <span class="hljs-keyword">try</span>:
            task = task_q.get(<span class="hljs-number">1</span>)  <span class="hljs-comment"># 1s</span>
        <span class="hljs-keyword">except</span> queue.Empty:
            print(<span class="hljs-string">'%s time out, break.'</span> % name)
        <span class="hljs-keyword">if</span> task <span class="hljs-keyword">is</span> <span class="hljs-keyword">None</span>:
            print(<span class="hljs-string">'%s break.'</span> % name)
            <span class="hljs-keyword">break</span>
        func, arg = task
        res = func(arg)
        time.sleep(<span class="hljs-number">0.5</span>)  <span class="hljs-comment"># 阻塞</span>
        task_q.task_done()
        result_q.put(res)
        print(<span class="hljs-string">'%s consume %s, result %s'</span> % (name, arg, res))</code></pre>

<hr>



<h4 id="共享内存">共享内存</h4>

<p>利用<code>sharedctypes</code>中的<code>Array</code>, <code>Value</code>来共享内存。 <br>
下例为仿照。  </p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> pprint <span class="hljs-keyword">import</span> pprint

<span class="hljs-comment"># 共享内存</span>
<span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> sharedctypes, Process, Lock
<span class="hljs-keyword">from</span> ctypes <span class="hljs-keyword">import</span> Structure, c_bool, c_double

pprint(sharedctypes.typecode_to_type)

lock = Lock()


<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Point</span><span class="hljs-params">(Structure)</span>:</span>
    _fields_ = [(<span class="hljs-string">'x'</span>, c_double), (<span class="hljs-string">'y'</span>, c_double)]  <span class="hljs-comment"># _fields_</span>


<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">modify</span><span class="hljs-params">(n, b, s, arr, A)</span>:</span>
    n.value **= <span class="hljs-number">2</span>
    b.value = <span class="hljs-keyword">True</span>
    s.value = s.value.upper()
    arr[<span class="hljs-number">0</span>] = <span class="hljs-number">10</span>
    <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> A:
        a.x **= <span class="hljs-number">2</span>
        a.y **= <span class="hljs-number">2</span>

<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:

    n = sharedctypes.Value(<span class="hljs-string">'i'</span>, <span class="hljs-number">7</span>)
    b = sharedctypes.Value(c_bool, <span class="hljs-keyword">False</span>, lock=<span class="hljs-keyword">False</span>)
    s = sharedctypes.Array(<span class="hljs-string">'c'</span>, <span class="hljs-string">b'hello world'</span>, lock=lock)  <span class="hljs-comment"># bytes</span>
    arr = sharedctypes.Array(<span class="hljs-string">'i'</span>, range(<span class="hljs-number">5</span>), lock=<span class="hljs-keyword">True</span>)
    A = sharedctypes.Array(Point, [(<span class="hljs-number">1.875</span>, -<span class="hljs-number">6.25</span>), (-<span class="hljs-number">5.75</span>, <span class="hljs-number">2.0</span>)], lock=lock)
    p = Process(target=modify, args=(n, b, s, arr, A))
    p.start()
    p.join()
    print(n.value)
    print(b.value)
    print(s.value)
    print(arr[:])
    print([(a.x, a.y) <span class="hljs-keyword">for</span> a <span class="hljs-keyword">in</span> A])</code></pre>

<p>实际项目中利用<code>Value</code>来监测子进程的任务状态， 并通过memcached来存储更新删除。</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> Process, Value
<span class="hljs-keyword">import</span> time
<span class="hljs-keyword">import</span> datetime
<span class="hljs-keyword">import</span> random


FINISHED = <span class="hljs-number">3</span>
FAILED = <span class="hljs-number">4</span>
INPROCESS = <span class="hljs-number">2</span>
WAITING = <span class="hljs-number">1</span>

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">execute_method</span><span class="hljs-params">(status, process)</span>:</span>
    time.sleep(<span class="hljs-number">1</span>)
    status.value = INPROCESS  <span class="hljs-comment"># test</span>
    time.sleep(<span class="hljs-number">1</span>)
    status.value = FINISHED  <span class="hljs-comment"># test</span>
    time.sleep(<span class="hljs-number">0.5</span>)

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">run</span><span class="hljs-params">(execute_code)</span>:</span>
    status = Value(<span class="hljs-string">'i'</span>, WAITING )
    process = Value(<span class="hljs-string">'f'</span>, <span class="hljs-number">0.0</span>)
    <span class="hljs-comment"># mem_cache.set('%s_status' % execute_code, status.value, 0)</span>
    <span class="hljs-comment"># mem_cache.set('%s_process' % execute_code, process .value, 0)</span>
    p = Process(target=execute_method, args=(status, process))
    p.start()
    start_time = datetime.datetime.now()
    <span class="hljs-keyword">while</span> <span class="hljs-keyword">True</span>:
        print(status.value)
        now_time = datetime.datetime.now()
        <span class="hljs-keyword">if</span> (now_time - start_time).seconds &gt; <span class="hljs-number">30</span>:  <span class="hljs-comment"># 超过30sbreak</span>
            <span class="hljs-comment"># mem_cache.delete('%s_status' % execute_code)</span>
            <span class="hljs-comment"># mem_cache.delete('%s_process' % execute_code)</span>
            print(<span class="hljs-string">'execute failed'</span>)
            p.terminate()
            <span class="hljs-keyword">break</span>
        <span class="hljs-keyword">if</span> status.value == <span class="hljs-number">3</span>:
            <span class="hljs-comment"># mem_cache.delete('%s_status' % execute_code)</span>
            <span class="hljs-comment"># mem_cache.delete('%s_process' % execute_code)</span>
            print(<span class="hljs-string">'end execute'</span>)
            <span class="hljs-keyword">break</span>
        <span class="hljs-keyword">else</span>:
            <span class="hljs-comment"># mem_cache.set('%s_status' % execute_code, status.value, 0)</span>
            <span class="hljs-comment"># mem_cache.set('%s_process' % execute_code, process .value, 0)</span>
            print(<span class="hljs-string">'waiting or executing'</span>)
        time.sleep(<span class="hljs-number">0.5</span>)
    p.join()</code></pre>

<hr>



<h4 id="服务进程">服务进程</h4>

<p>下例为仿照博客中的服务进程的例子，简单的展示了<code>Manager</code>的常见的共享方式。</p>

<blockquote>
  <p>一个multiprocessing.Manager对象会控制一个服务器进程，其他进程可以通过代理的方式来访问这个服务器进程。 常见的共享方式有以下几种： <br>
  1. Namespace。创建一个可分享的命名空间。 <br>
  2. Value/Array。和上面共享ctypes对象的方式一样。 <br>
  dict/list。创建一个可分享的 <br>
  3. dict/list，支持对应数据结构的方法。 <br>
  4. Condition/Event/Lock/Queue/Semaphore。创建一个可分享的对应同步原语的对象。</p>
</blockquote>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>
<span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> Manager, Process

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">modify</span><span class="hljs-params">(ns, lproxy, dproxy)</span>:</span>
    ns.name = <span class="hljs-string">'new_name'</span>
    lproxy.append(<span class="hljs-string">'new_value'</span>)
    dproxy[<span class="hljs-string">'new'</span>] = <span class="hljs-string">'new_value'</span>

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">run</span><span class="hljs-params">()</span>:</span>
    <span class="hljs-comment"># 数据准备</span>
    manager = Manager()
    ns = manager.Namespace()
    ns.name = <span class="hljs-string">'origin_name'</span>
    lproxy = manager.list()
    lproxy.append(<span class="hljs-string">'origin_value'</span>)
    dproxy = manager.dict()
    dproxy[<span class="hljs-string">'origin'</span>] = <span class="hljs-string">'origin_value'</span>

    <span class="hljs-comment"># 子进程</span>
    p = Process(target=modify, args=(ns, lproxy, dproxy))
    p.start()
    print(p.pid)
    p.join()

    print(<span class="hljs-string">'ns.name: %s'</span> % ns.name)
    print(<span class="hljs-string">'lproxy: %s'</span> % lproxy)
    print(<span class="hljs-string">'dproxy: %s'</span> % dproxy)

<span class="hljs-keyword">if</span> __name__ == <span class="hljs-string">'__main__'</span>:
    run()</code></pre>

<p>上例主要是展示了<code>Manager</code>中的共享对象类型和代理，查看源码知是通过<code>register()</code>方法。</p>

<p>multiprocessing/managers.py:</p>



<pre class="prettyprint"><code class=" hljs haskell"><span class="hljs-preprocessor">#</span>
<span class="hljs-preprocessor"># Definition of SyncManager</span>
<span class="hljs-preprocessor">#</span>
<span class="hljs-class">
<span class="hljs-keyword">class</span> <span class="hljs-type">SyncManager</span><span class="hljs-container">(<span class="hljs-type">BaseManager</span>)</span>:
    '''
    <span class="hljs-type">Subclass</span> of `<span class="hljs-type">BaseManager</span>` which supports a number of shared object types.

    <span class="hljs-type">The</span> types registered are those intended for the synchronization
    of threads, plus `dict`, `list` and `<span class="hljs-type">Namespace</span>`.

    <span class="hljs-type">The</span> `multiprocessing.<span class="hljs-type">Manager</span><span class="hljs-container">()</span>` function creates started instances of
    this <span class="hljs-keyword">class</span>.
    '''

<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Queue</span>', <span class="hljs-title">queue</span>.<span class="hljs-type">Queue</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">JoinableQueue</span>', <span class="hljs-title">queue</span>.<span class="hljs-type">Queue</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Event</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">Event</span>, <span class="hljs-type">EventProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Lock</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">Lock</span>, <span class="hljs-type">AcquirerProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">RLock</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">RLock</span>, <span class="hljs-type">AcquirerProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Semaphore</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">Semaphore</span>, <span class="hljs-type">AcquirerProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">BoundedSemaphore</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">BoundedSemaphore</span>,
                     <span class="hljs-type">AcquirerProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Condition</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">Condition</span>, <span class="hljs-type">ConditionProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Barrier</span>', <span class="hljs-title">threading</span>.<span class="hljs-type">Barrier</span>, <span class="hljs-type">BarrierProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Pool</span>', <span class="hljs-title">pool</span>.<span class="hljs-type">Pool</span>, <span class="hljs-type">PoolProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-title">list'</span>, <span class="hljs-title">list</span>, <span class="hljs-type">ListProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-title">dict'</span>, <span class="hljs-title">dict</span>, <span class="hljs-type">DictProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Value</span>', <span class="hljs-type">Value</span>, <span class="hljs-type">ValueProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Array</span>', <span class="hljs-type">Array</span>, <span class="hljs-type">ArrayProxy</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Namespace</span>', <span class="hljs-type">Namespace</span>, <span class="hljs-type">NamespaceProxy</span>)</span>

# types returned by methods of <span class="hljs-type">PoolProxy</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">Iterator</span>', <span class="hljs-title">proxytype</span>=<span class="hljs-type">IteratorProxy</span>, <span class="hljs-title">create_method</span>=<span class="hljs-type">False</span>)</span>
<span class="hljs-type">SyncManager</span>.register<span class="hljs-container">('<span class="hljs-type">AsyncResult</span>', <span class="hljs-title">create_method</span>=<span class="hljs-type">False</span>)</span></span></code></pre>

<p>除了在子进程中，还可利用<code>Manager()</code>来在不同进程间通信，如下面的分布式进程简单实现。</p>

<hr>



<h4 id="分布进程">分布进程</h4>

<p>和上例的主要区别是，非子进程间进行通信。</p>

<p>manager_server.py:</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> multiprocessing.managers <span class="hljs-keyword">import</span> BaseManager

host = <span class="hljs-string">'127.0.0.1'</span>
port = <span class="hljs-number">8080</span>
authkey = <span class="hljs-string">b'python'</span>

shared_list = []

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ServerManager</span><span class="hljs-params">(BaseManager)</span>:</span>
    <span class="hljs-keyword">pass</span>

ServerManager.register(<span class="hljs-string">'get_list'</span>, callable=<span class="hljs-keyword">lambda</span>: shared_list)
server_manager = ServerManager(address=(host, port), authkey=authkey)
server = server_manager.get_server()
server.serve_forever()</code></pre>

<p>manager_client.py</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> multiprocessing.managers <span class="hljs-keyword">import</span> BaseManager

host = <span class="hljs-string">'127.0.0.1'</span>
port = <span class="hljs-number">8080</span>
authkey = <span class="hljs-string">b'python'</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ClientManager</span><span class="hljs-params">(BaseManager)</span>:</span>
    <span class="hljs-keyword">pass</span>

ClientManager.register(<span class="hljs-string">'get_list'</span>)
client_manager = ClientManager(address=(host, port), authkey=authkey)
client_manager.connect()

l = client_manager.get_list()
print(l)

l.append(<span class="hljs-string">'new_value'</span>)
print(l)</code></pre>

<p>运行多次后，<code>shared_list</code>中会不断添加<code>new_value</code>。</p>

<p>仿照廖雪峰教程上的分布式进程加以适当修改。</p>

<p>manager_server.py:</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> multiprocessing.managers <span class="hljs-keyword">import</span> BaseManager
<span class="hljs-keyword">from</span> multiprocessing <span class="hljs-keyword">import</span> Condition, Value
<span class="hljs-keyword">import</span> queue

host = <span class="hljs-string">'127.0.0.1'</span>
port = <span class="hljs-number">8080</span>
authkey = <span class="hljs-string">b'python'</span>


task_q = queue.Queue(<span class="hljs-number">10</span>)
result_q = queue.Queue(<span class="hljs-number">20</span>)
cond = Condition()
done = Value(<span class="hljs-string">'i'</span>, <span class="hljs-number">0</span>)

<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">double</span><span class="hljs-params">(n)</span>:</span>
    <span class="hljs-keyword">return</span> n * <span class="hljs-number">2</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ServerManager</span><span class="hljs-params">(BaseManager)</span>:</span>
    <span class="hljs-keyword">pass</span>

ServerManager.register(<span class="hljs-string">'get_task_queue'</span>, callable=<span class="hljs-keyword">lambda</span>: task_q)
ServerManager.register(<span class="hljs-string">'get_result_queue'</span>, callable=<span class="hljs-keyword">lambda</span>: result_q)
ServerManager.register(<span class="hljs-string">'get_cond'</span>, callable=<span class="hljs-keyword">lambda</span>: cond)
ServerManager.register(<span class="hljs-string">'get_done'</span>, callable=<span class="hljs-keyword">lambda</span>: done)
ServerManager.register(<span class="hljs-string">'get_double'</span>, callable=double)

server_manager = ServerManager(address=(host, port), authkey=authkey)
server = server_manager.get_server()

print(<span class="hljs-string">'start server'</span>)
server.serve_forever()

</code></pre>

<p>manager_producer.py:</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> multiprocessing.managers <span class="hljs-keyword">import</span> BaseManager
<span class="hljs-keyword">import</span> random
<span class="hljs-keyword">import</span> time

host = <span class="hljs-string">'127.0.0.1'</span>
port = <span class="hljs-number">8080</span>
authkey = <span class="hljs-string">b'python'</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ProducerManager</span><span class="hljs-params">(BaseManager)</span>:</span>
    <span class="hljs-keyword">pass</span>

ProducerManager.register(<span class="hljs-string">'get_task_queue'</span>)
ProducerManager.register(<span class="hljs-string">'get_cond'</span>)
ProducerManager.register(<span class="hljs-string">'get_done'</span>)
producer_manager = ProducerManager(address=(host, port), authkey=authkey)

producer_manager.connect()
task_q  = producer_manager.get_task_queue()
cond = producer_manager.get_cond()
<span class="hljs-comment"># done = producer_manager.get_done()</span>
count = <span class="hljs-number">20</span>  <span class="hljs-comment"># 最多有20个任务</span>

<span class="hljs-keyword">while</span> count &gt; <span class="hljs-number">0</span>:
    <span class="hljs-keyword">if</span> cond.acquire():
        <span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> task_q.full():
            n = random.randint(<span class="hljs-number">0</span>, <span class="hljs-number">10</span>)
            task_q.put(n)
            print(<span class="hljs-string">"Producer:deliver one, now tasks:%s"</span> % task_q.qsize())
            cond.notify()
            count -= <span class="hljs-number">1</span>
            time.sleep(<span class="hljs-number">0.5</span>)
        <span class="hljs-keyword">else</span>:
            print(<span class="hljs-string">"Producer:already full, stop deliver, now tasks:%s"</span> % task_q.qsize())
            cond.wait() 
        cond.release()
<span class="hljs-comment"># done.value = 1</span>
print(<span class="hljs-string">'Producer break'</span>)</code></pre>

<p>manager_consumer.py:</p>



<pre class="prettyprint"><code class=" hljs python"><span class="hljs-comment"># -*- coding: utf-8 -*-</span>

<span class="hljs-keyword">from</span> multiprocessing.managers <span class="hljs-keyword">import</span> BaseManager

host = <span class="hljs-string">'127.0.0.1'</span>
port = <span class="hljs-number">8080</span>
authkey = <span class="hljs-string">b'python'</span>

<span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ConsumerManager</span><span class="hljs-params">(BaseManager)</span>:</span>
    <span class="hljs-keyword">pass</span>

ConsumerManager.register(<span class="hljs-string">'get_task_queue'</span>)
ConsumerManager.register(<span class="hljs-string">'get_result_queue'</span>)
ConsumerManager.register(<span class="hljs-string">'get_cond'</span>)
<span class="hljs-comment"># ConsumerManager.register('get_done')</span>
ConsumerManager.register(<span class="hljs-string">'get_double'</span>)

consumer_manager = ConsumerManager(address=(host, port), authkey=authkey)
consumer_manager.connect()

task_q = consumer_manager.get_task_queue()
result_q = consumer_manager.get_result_queue()
cond = consumer_manager.get_cond()
<span class="hljs-comment"># done = consumer_manager.get_done()</span>

<span class="hljs-keyword">while</span> <span class="hljs-number">1</span>:
    <span class="hljs-keyword">if</span> result_q.full():
        print(<span class="hljs-string">'result queue is full'</span>)
        <span class="hljs-keyword">break</span>
    <span class="hljs-keyword">if</span> cond.acquire():
        <span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> task_q.empty():
            arg = task_q.get()
            res = consumer_manager.get_double(arg)
            print(<span class="hljs-string">"Consumer:consume one, now tasks:%s"</span> % task_q.qsize())
            result_q.put(res)
            cond.notify()
        <span class="hljs-keyword">else</span>:
            print(<span class="hljs-string">"Consumer:only 0, stop consume, products"</span>)
            cond.wait()
        cond.release()

<span class="hljs-keyword">while</span> <span class="hljs-number">1</span>:
    <span class="hljs-keyword">if</span> result_q.empty():
        <span class="hljs-keyword">break</span>
    result = result_q.get()
    print(<span class="hljs-string">'result is: %s'</span> % result)
</code></pre>                                    </div>
                <link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-b6c3c6d139.css" rel="stylesheet">
                    </div>
    </article>
    <div class="postTime"> 
        <div class="article-bar-bottom">
            <span class="time">
                文章最后发布于: 2017-04-06 16:22:53            </span>
        </div>
    </div>
</div>

            <div class="hide-article-box hide-article-pos text-center">
            <a class="btn-readmore" data-report-view='{"mod":"popu_376","dest":"https://blog.csdn.net/jw690114549/article/details/69396267","strategy":"readmore"}' data-report-click='{"mod":"popu_376","dest":"https://blog.csdn.net/jw690114549/article/details/69396267","strategy":"readmore"}'>
                展开阅读全文
                <svg class="icon chevrondown" aria-hidden="true">
                    <use xlink:href="#csdnc-chevrondown"></use>
                </svg>
            </a>
        </div>
                <!--打赏开始-->
                            <div class="reward-user-box">
                    <span class="reward-word" style="color:#B4B4B4 !important">有 <span class="num">0</span> 个人打赏</span>
                                        <a target="_blank" href="https://im.csdn.net/im/main.html?userName=jw690114549" data-report-click='{"mod":"popu_810","dest":"私信"}'  data-report-view='{"mod":"popu_810","dest":"私信"}' id="profile-content-alink" >
                         <div class="reward-fexd" id="">
                    <!-- iconcsdnc-bookmark -->
                    <svg class="reward-icon" aria-hidden="true">
					<use xlink:href="#csdnc-envelope"></use>
				    </svg>
                    <div>私信求帮助</div>
                    </div>
                    </a>
                   
                </div>
                        <!--打赏结束-->
            <div id="dmp_ad_58"><div id="kp_box_58" data-pid="58"><div style="width:100%;background:#fff;">
<script type="text/javascript" src="//rabc1.iteye.com/production/resource/web/6xwm4l.js?lg=ydmpioh"></script>
</div><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=58&a=386&c=0&k=&d=1&t=3&u=cfefe20e02794143a685353c055a32d8"></div></div>            
            <a id="commentBox"></a>
<div class="comment-box">
	<div class="comment-edit-box d-flex">
		<a id="commentsedit"></a>
		<div class="user-img">
			<a href="javascript:void(0);" target="_blank" rel="noopener">
				<img class="show_loginbox" src="//g.csdnimg.cn/static/user-img/anonymous-User-img.png">
			</a>
		</div>
		<form id="commentform">
			<input type="hidden" id="comment_replyId">
			<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea>
			<div class="opt-box"> <!-- d-flex -->
				<div id="ubbtools" class="add_code">
					<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
				</div>
				<input type="hidden" id="comment_replyId" name="comment_replyId">
				<input type="hidden" id="article_id" name="article_id" value="69396267">
				<input type="hidden" id="comment_userId" name="comment_userId" value="">
				<input type="hidden" id="commentId" name="commentId" value="">
				<div style="display: none;" class="csdn-tracking-statistics tracking-click" data-report-click='{"mod":"popu_384","dest":""}'><a href="#" target="_blank" class="comment_area_btn" rel="noopener">发表评论</a></div>
				<div class="dropdown" id="myDrap">
					<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
					<div class="txt-selected text-truncate">添加代码片</div>
					<svg class="icon d-block" aria-hidden="true">
						<use xlink:href="#csdnc-triangledown"></use>
					</svg>
					</a>
					<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
						<li><a data-code="html">HTML/XML</a></li>
						<li><a data-code="objc">objective-c</a></li>
						<li><a data-code="ruby">Ruby</a></li>
						<li><a data-code="php">PHP</a></li>
						<li><a data-code="csharp">C</a></li>
						<li><a data-code="cpp">C++</a></li>
						<li><a data-code="javascript">JavaScript</a></li>
						<li><a data-code="python">Python</a></li>
						<li><a data-code="java">Java</a></li>
						<li><a data-code="css">CSS</a></li>
						<li><a data-code="sql">SQL</a></li>
						<li><a data-code="plain">其它</a></li>
					</ul>
				</div>  
				<div class="right-box">
                                            <span class="tip">评论将由博主筛选后显示，对所有人可见 |</span>
                                        <span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
					<input type="button" class="btn btn-sm btn-cancel d-none" value="取消回复">
					<input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论">
				</div>
			</div>
		</form>
	</div>

	<div class="comment-list-container">
		<a id="comments"></a>
		<div class="comment-list-box">
		</div>
		<div id="commentPage" class="pagination-box d-none"></div>
		<div class="opt-box text-center">
			<div class="btn btn-sm btn-link-blue" id="btnMoreComment"></div>
		</div>
	</div>
</div>
            <!--付费专栏入口开始-->
                            <div class="blog-column-pay">
                    <div class="column-pay-left">
                        <a href="https://blog.csdn.net/xufive/article/category/9506563?utm_source=payColumnDetails" target="_blank">
                        <img src="https://img-blog.csdnimg.cn/20191114120359988.png" alt="">
                        </a>
                    </div>
                    <div class="column-pay-right">
                        <div class="title">
                            <a href="https://blog.csdn.net/xufive/article/category/9506563?utm_source=payColumnDetails" target="_blank" class="topic">跟“风云卫星”数据工程师学Python</a>
                            <a href="https://blog.csdn.net/xufive/article/category/9506563?utm_source=payColumnDetails" target="_blank" class="column-pay-subscription">立即订阅</a>
                        </div>
                        <div class="introduce">曾参与过风云系列卫星、碳卫星、子午工程、嫦娥等项目的数据处理工作；有超10年大型项目的开发经验。
专栏收入了作者为Python爱好者精心打造的多篇文章，从小白入门学习的基础语法、基础模块精讲等内容外，还提出了“Python语感训练”的概念和方法，不仅为初学者提供了进阶之路，有一定基础的程序员亦可从中受益。后续，本专栏还将加入2D/3D应用开发、数据处理、实战项目等精品内容，敬请期待。</div>
                        <div class="information">
                            <a href="https://blog.csdn.net/xufive/article/category/9506563?utm_source=payColumnDetails" target="_blank">
                            <img src="https://profile.csdnimg.cn/1/3/9/3_xufive" alt="" username="xufive"><span class="name">xufive</span></a>
                            <span class="column-money"><span class="money">¥3.80 </span><span>1441人订阅</span></span>
                        </div>
                    </div>
                </div>
                        <!--付费专栏入口结束-->
            <div class="recommend-box">
                                    <div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/miaoqinian/article/details/80062740","strategy":"BlogCommendFromMachineLearnPai2","index":"0"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/miaoqinian/article/details/80062740","strategy":"BlogCommendFromMachineLearnPai2","index":"0"}'>
	<div class="content">
		<a href="https://blog.csdn.net/miaoqinian/article/details/80062740" target="_blank"  rel="noopener" title="（python）子进程（Process类的使用）">
		<h4 class="text-truncate oneline">
				（<em>python</em>）子<em>进程</em>（<em>Process</em>类的使用）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">04-24</span>
				<span class="read-num hover-hide">
					阅读数 
					9361</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/miaoqinian/article/details/80062740" target="_blank" rel="noopener" title="（python）子进程（Process类的使用）">
				<span class="desc oneline">Python提供了multiprocessing模块来开启子进程，并在子进程中执行我们定制的任务。提一嘴（multiprocessing模块的功能众多，支持子进程，通信，共享数据，执行不同形式的同步。...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/miaoqinian">来自：	<span class="blog_title"> Monicx的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_33567641/article/details/81947832","strategy":"BlogCommendFromMachineLearnPai2","index":"1"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_33567641/article/details/81947832","strategy":"BlogCommendFromMachineLearnPai2","index":"1"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_33567641/article/details/81947832" target="_blank"  rel="noopener" title="Python基础之进程（Process）">
		<h4 class="text-truncate oneline">
				<em>Python</em>基础之<em>进程</em>（<em>Process</em>）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">08-27</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_33567641/article/details/81947832" target="_blank" rel="noopener" title="Python基础之进程（Process）">
				<span class="desc oneline">进程是计算机中的程序关于某数据集合上的一次运行活动，是系统进行资源分配和调度的基本单位，是操作系统结构的基础。在早期面向进程设计的计算机结构中，进程是程序的基本执行实体；在当代面向线程设计的计算机结构...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_33567641">来自：	<span class="blog_title"> PythonGo</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/liuxingen/article/details/72568808","strategy":"BlogCommendFromMachineLearnPai2","index":"2"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/liuxingen/article/details/72568808","strategy":"BlogCommendFromMachineLearnPai2","index":"2"}'>
	<div class="content">
		<a href="https://blog.csdn.net/liuxingen/article/details/72568808" target="_blank"  rel="noopener" title="multiprocessing解析(一):Process的解析">
		<h4 class="text-truncate oneline">
				multi<em>process</em>ing解析(一):<em>Process</em>的解析		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">05-21</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/liuxingen/article/details/72568808" target="_blank" rel="noopener" title="multiprocessing解析(一):Process的解析">
				<span class="desc oneline">最近项目中为了提升Python的运行效率，要使用到multiprocessing模块，场景其实不算复杂但是为了避免带来一些隐晦的bug，我觉得还是深入了解一下它比较好。因为当我使用multiproce...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/liuxingen">来自：	<span class="blog_title"> liuxingen的专栏</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/Tong_T/article/details/78747139","strategy":"BlogCommendFromMachineLearnPai2","index":"3"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/Tong_T/article/details/78747139","strategy":"BlogCommendFromMachineLearnPai2","index":"3"}'>
	<div class="content">
		<a href="https://blog.csdn.net/Tong_T/article/details/78747139" target="_blank"  rel="noopener" title="Python中理解进程(Process)，线程(Thread)和协程(Coroutines)的感悟">
		<h4 class="text-truncate oneline">
				<em>Python</em>中<em>理解</em><em>进程</em>(<em>Process</em>)，线程(Thread)和协程(Coroutines)的感悟		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">12-07</span>
				<span class="read-num hover-hide">
					阅读数 
					4万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/Tong_T/article/details/78747139" target="_blank" rel="noopener" title="Python中理解进程(Process)，线程(Thread)和协程(Coroutines)的感悟">
				<span class="desc oneline">谈这三个问题之前，首先必须清楚一个概念，那就是程序切换（CPU时间的分配）。我们的任何一个程序，例如开QQ，开浏览器，开游戏，开word编辑器，这些都需要运行在一个操作系统中，如Windows，Lin...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/Tong_T">来自：	<span class="blog_title"> 陆壹佛爷Tong_T</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_59" data-pid="59"><script type="text/javascript">
    (function() {
        var s = "_" + Math.random().toString(36).slice(2);
        document.write('<div style="" id="' + s + '"></div>');
        (window.slotbydup = window.slotbydup || []).push({
            id: "u3491668",
            container:  s
        });
    })();
</script>
<!-- 多条广告如下脚本只需引入一次 -->
<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/c.js" async="async" defer="defer" ></script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=59&a=78&c=0&k=&d=1&t=3&u=1d6796e304754df5874d75f43ab3b313"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/jw690114549/article/details/69396277","strategy":"BlogCommendFromMachineLearnPai2","index":"4"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/jw690114549/article/details/69396277","strategy":"BlogCommendFromMachineLearnPai2","index":"4"}'>
	<div class="content">
		<a href="https://blog.csdn.net/jw690114549/article/details/69396277" target="_blank"  rel="noopener" title="理解Python的PoolExecutor">
		<h4 class="text-truncate oneline">
				<em>理解</em><em>Python</em>的PoolExecutor		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">04-06</span>
				<span class="read-num hover-hide">
					阅读数 
					3220</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/jw690114549/article/details/69396277" target="_blank" rel="noopener" title="理解Python的PoolExecutor">
				<span class="desc oneline">理解Python的PoolExecutor</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/jw690114549">来自：	<span class="blog_title"> 蒋狗的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37822685/article/details/80363530","strategy":"BlogCommendFromMachineLearnPai2","index":"5"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37822685/article/details/80363530","strategy":"BlogCommendFromMachineLearnPai2","index":"5"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_37822685/article/details/80363530" target="_blank"  rel="noopener" title="python random函数">
		<h4 class="text-truncate oneline">
				<em>python</em> random函数		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">05-18</span>
				<span class="read-num hover-hide">
					阅读数 
					3151</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_37822685/article/details/80363530" target="_blank" rel="noopener" title="python random函数">
				<span class="desc oneline">调用random前要importrandom模块。测试：1、random.random():生成一个随机的浮点数，在0~1之间2、random.sample():从指定的序列或列表中，随机的截取指定长...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/m0_37822685">来自：	<span class="blog_title"> Dou</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/jw690114549/article/details/69396252","strategy":"BlogCommendFromMachineLearnPai2","index":"6"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/jw690114549/article/details/69396252","strategy":"BlogCommendFromMachineLearnPai2","index":"6"}'>
	<div class="content">
		<a href="https://blog.csdn.net/jw690114549/article/details/69396252" target="_blank"  rel="noopener" title="理解Python线程Thread">
		<h4 class="text-truncate oneline">
				<em>理解</em><em>Python</em>线程Thread		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">04-06</span>
				<span class="read-num hover-hide">
					阅读数 
					351</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/jw690114549/article/details/69396252" target="_blank" rel="noopener" title="理解Python线程Thread">
				<span class="desc oneline">理解Python线程Thread</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/jw690114549">来自：	<span class="blog_title"> 蒋狗的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_42784935/article/details/82913938","strategy":"BlogCommendFromMachineLearnPai2","index":"7"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_42784935/article/details/82913938","strategy":"BlogCommendFromMachineLearnPai2","index":"7"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_42784935/article/details/82913938" target="_blank"  rel="noopener" title="Python进程(Process,Pool)">
		<h4 class="text-truncate oneline">
				<em>Python</em><em>进程</em>(<em>Process</em>,Pool)		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-01</span>
				<span class="read-num hover-hide">
					阅读数 
					686</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_42784935/article/details/82913938" target="_blank" rel="noopener" title="Python进程(Process,Pool)">
				<span class="desc oneline">from multiprocessing import Process #导入Process模块def test():	while True:		print(&amp;amp;quot;---hello wo...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_42784935">来自：	<span class="blog_title"> qq_42784935的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/wangzhangni/article/details/99970824","strategy":"BlogCommendFromMachineLearnPai2","index":"8"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/wangzhangni/article/details/99970824","strategy":"BlogCommendFromMachineLearnPai2","index":"8"}'>
	<div class="content">
		<a href="https://blog.csdn.net/wangzhangni/article/details/99970824" target="_blank"  rel="noopener" title="Python——多进程">
		<h4 class="text-truncate oneline">
				<em>Python</em>——多<em>进程</em>		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">08-21</span>
				<span class="read-num hover-hide">
					阅读数 
					26</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/wangzhangni/article/details/99970824" target="_blank" rel="noopener" title="Python——多进程">
				<span class="desc oneline">一、multiprocessingimport multiprocessingimport osdef info(title):    print(title)    print(__name__) ...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/wangzhangni">来自：	<span class="blog_title"> wangzhangni的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_60" data-pid="60"><div id="three_ad8" class="mediav_ad" ></div>
<script type="text/javascript" src="//static.mediav.com/js/mvf_news_feed.js"></script>
<script>
                                               NEWS_FEED({
                w: 900,
                h : 84,
                showid : 'Afihld',
                placeholderId: "three_ad8",
                inject : 'define',
                define : {
                    imagePosition : 'left',
                    imageBorderRadius : 3,
                    imageWidth: 90,
                    imageHeight: 60,
                    imageFill : 'clip',
                    displayImage : true,
                    displayTitle : true,
                    titleFontSize: 18,
                    titleFontColor: '#000',
                    titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
                    titleFontWeight: 'bold',
                    titlePaddingTop : 0,
                    titlePaddingRight : 0,
                    titlePaddingBottom : 5,
                    titlePaddingLeft : 16,
                    displayDesc : true,
                    descFontSize: 14,
                    descFontColor: '#8e959a',
                    descFontFamily : 'Microsoft Yahei',
                    paddingTop : 10,
                    paddingRight : 0,
                    paddingBottom : 0,
                    paddingLeft : 0,
                    backgroundColor: '#fff',
                    hoverColor: '#000'
                      }
                  })
                                        </script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=60&a=43&c=0&k=&d=1&t=3&u=4911e42245734eef90f178acdbd70bae"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/MyLinChi/article/details/94176541","strategy":"BlogCommendFromMachineLearnPai2","index":"9"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/MyLinChi/article/details/94176541","strategy":"BlogCommendFromMachineLearnPai2","index":"9"}'>
	<div class="content">
		<a href="https://blog.csdn.net/MyLinChi/article/details/94176541" target="_blank"  rel="noopener" title="python的Process类">
		<h4 class="text-truncate oneline">
				<em>python</em>的<em>Process</em>类		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">06-29</span>
				<span class="read-num hover-hide">
					阅读数 
					178</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/MyLinChi/article/details/94176541" target="_blank" rel="noopener" title="python的Process类">
				<span class="desc oneline">1.基本概念进程即使程序的动态执行过程，在python中是用Process类来表示进程的，而这个类是在multiprocessing类中的。因此导入进程类的方法为：frommultiprocessin...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/MyLinChi">来自：	<span class="blog_title"> MyLinChi的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/u010459192/article/details/102548299","strategy":"BlogCommendFromMachineLearnPai2","index":"10"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/u010459192/article/details/102548299","strategy":"BlogCommendFromMachineLearnPai2","index":"10"}'>
	<div class="content">
		<a href="https://blog.csdn.net/u010459192/article/details/102548299" target="_blank"  rel="noopener" title="据说中台凉了？唔，真香">
		<h4 class="text-truncate oneline">
				据说中台凉了？唔，真香		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-12</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/u010459192/article/details/102548299" target="_blank" rel="noopener" title="据说中台凉了？唔，真香">
				<span class="desc oneline">全文长度:2200字阅读时间:8分钟TL;DR(toolongdon'tread)1、业务中台就是流程模板+扩展点2、没法很好抽象就别做中台，没那么多需求和业务线就别做中台。很多同学都会问，啥叫中台，...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/u010459192">来自：	<span class="blog_title"> u010459192的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
			<div class="recommend-item-box blog-expert-recommend-box">
			<div class="d-flex">
				<div class="blog-expert-recommend">
					<div class="blog-expert">
						<div class="blog-expert-flexbox"></div>
					</div>
				</div>
			</div>
		</div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/u012365828/article/details/102559913","strategy":"BlogCommendFromMachineLearnPai2","index":"11"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/u012365828/article/details/102559913","strategy":"BlogCommendFromMachineLearnPai2","index":"11"}'>
	<div class="content">
		<a href="https://blog.csdn.net/u012365828/article/details/102559913" target="_blank"  rel="noopener" title="500行代码，教你用python写个微信飞机大战">
		<h4 class="text-truncate oneline">
				500行代码，教你用<em>python</em>写个微信飞机大战		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-16</span>
				<span class="read-num hover-hide">
					阅读数 
					6万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/u012365828/article/details/102559913" target="_blank" rel="noopener" title="500行代码，教你用python写个微信飞机大战">
				<span class="desc oneline">这几天在重温微信小游戏的飞机大战，玩着玩着就在思考人生了，这飞机大战怎么就可以做的那么好，操作简单，简单上手。帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来！让他们的左手/右手有节...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/u012365828">来自：	<span class="blog_title"> Python专栏</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/wangzhong1979/article/details/42147539","strategy":"BlogCommendFromMachineLearnPai2","index":"12"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/wangzhong1979/article/details/42147539","strategy":"BlogCommendFromMachineLearnPai2","index":"12"}'>
	<div class="content">
		<a href="https://blog.csdn.net/wangzhong1979/article/details/42147539" target="_blank"  rel="noopener" title="python多进程的理解 multiprocessing Process join run">
		<h4 class="text-truncate oneline">
				<em>python</em>多<em>进程</em>的<em>理解</em> multi<em>process</em>ing <em>Process</em> join run		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">12-25</span>
				<span class="read-num hover-hide">
					阅读数 
					833</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/wangzhong1979/article/details/42147539" target="_blank" rel="noopener" title="python多进程的理解 multiprocessing Process join run">
				<span class="desc oneline">最近看了下多进程。一种接近底层的实现方法是使用 os.fork()方法，fork出子进程。但是这样做事有局限性的。比如windows的os模块里面没有 fork() 方法。windows：。linux...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/wangzhong1979">来自：	<span class="blog_title"> wangzhong1979的专栏</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/wangxueming/article/details/102561475","strategy":"BlogCommendFromMachineLearnPai2","index":"13"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/wangxueming/article/details/102561475","strategy":"BlogCommendFromMachineLearnPai2","index":"13"}'>
	<div class="content">
		<a href="https://blog.csdn.net/wangxueming/article/details/102561475" target="_blank"  rel="noopener" title="唐僧团队要裁员，你会裁谁？">
		<h4 class="text-truncate oneline">
				唐僧团队要裁员，你会裁谁？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-15</span>
				<span class="read-num hover-hide">
					阅读数 
					4万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/wangxueming/article/details/102561475" target="_blank" rel="noopener" title="唐僧团队要裁员，你会裁谁？">
				<span class="desc oneline">提问：西游记取经团为了节约成本，唐太宗需要在这个团队里裁掉一名队员，该裁掉哪一位呢，为什么?为了完成西天取经任务，组成取经团队，成员有唐僧、孙悟空、猪八戒、沙和尚、白龙马。高层领导： 观音项目经理： ...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/wangxueming">来自：	<span class="blog_title"> 王学明</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_61" data-pid="61"><iframe  src="https://adaccount.csdn.net/#/preview/794?m=cbfvJLpHJAipLEEDDpcHbntciiitJbbnbLUynpEnbLLiUJHtXctSbpnAtEHybonAfinSJHAiQpEWbpQAomQpmvfLcHipnSAibcQQ&k=" frameborder="0" width= "100%"  height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=cbfvJLpHJAipLEEDDpcHbntciiitJbbnbLUynpEnbLLiUJHtXctSbpnAtEHybonAfinSJHAiQpEWbpQAomQpmvfLcHipnSAibcQQ"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/ZackSock/article/details/102580920","strategy":"BlogCommendFromMachineLearnPai2","index":"14"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/ZackSock/article/details/102580920","strategy":"BlogCommendFromMachineLearnPai2","index":"14"}'>
	<div class="content">
		<a href="https://blog.csdn.net/ZackSock/article/details/102580920" target="_blank"  rel="noopener" title="Python实现天气查询功能（外加Excel技巧）">
		<h4 class="text-truncate oneline">
				<em>Python</em>实现天气查询功能（外加Excel技巧）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-16</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/ZackSock/article/details/102580920" target="_blank" rel="noopener" title="Python实现天气查询功能（外加Excel技巧）">
				<span class="desc oneline">昨天在网上发现了一个非常方便的天气API，就用Python试着用了一下。参数是挺少的，用起来也方便，但是那个城市代码确实是搞了我好长时间。一、介绍我们先来看一下实现的程序有什么功能：功能也是非常简单的...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/ZackSock">来自：	<span class="blog_title"> ZackSock的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/lb0737/article/details/87971403","strategy":"BlogCommendFromMachineLearnPai2","index":"15"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/lb0737/article/details/87971403","strategy":"BlogCommendFromMachineLearnPai2","index":"15"}'>
	<div class="content">
		<a href="https://blog.csdn.net/lb0737/article/details/87971403" target="_blank"  rel="noopener" title="python中process类相关">
		<h4 class="text-truncate oneline">
				<em>python</em>中<em>process</em>类相关		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">02-27</span>
				<span class="read-num hover-hide">
					阅读数 
					314</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/lb0737/article/details/87971403" target="_blank" rel="noopener" title="python中process类相关">
				<span class="desc oneline">process（self,group=None,target=None,name=None,args=(),kwargs=()）group参数未使用，值始终为None。target表示调用的对象，就是...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/lb0737">来自：	<span class="blog_title"> lb0737的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/jf_xu/article/details/82502837","strategy":"BlogCommendFromMachineLearnPai2","index":"16"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/jf_xu/article/details/82502837","strategy":"BlogCommendFromMachineLearnPai2","index":"16"}'>
	<div class="content">
		<a href="https://blog.csdn.net/jf_xu/article/details/82502837" target="_blank"  rel="noopener" title="Python的魔法方法总结">
		<h4 class="text-truncate oneline">
				<em>Python</em>的魔法方法总结		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-08</span>
				<span class="read-num hover-hide">
					阅读数 
					671</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/jf_xu/article/details/82502837" target="_blank" rel="noopener" title="Python的魔法方法总结">
				<span class="desc oneline">转自：http://pyzh.readthedocs.io/en/latest/python-magic-methods-guide.html  原文:			http://www.rafekettle...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/jf_xu">来自：	<span class="blog_title"> jfxu</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/hollis_chuang/article/details/102542347","strategy":"BlogCommendFromMachineLearnPai2","index":"17"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/hollis_chuang/article/details/102542347","strategy":"BlogCommendFromMachineLearnPai2","index":"17"}'>
	<div class="content">
		<a href="https://blog.csdn.net/hollis_chuang/article/details/102542347" target="_blank"  rel="noopener" title="感觉自己不会的东西太多了，不知道如何下手？">
		<h4 class="text-truncate oneline">
				感觉自己不会的东西太多了，不知道如何下手？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-14</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/hollis_chuang/article/details/102542347" target="_blank" rel="noopener" title="感觉自己不会的东西太多了，不知道如何下手？">
				<span class="desc oneline">GitHub8.8kStar的Java工程师成神之路，不来了解一下吗?GitHub8.8kStar的Java工程师成神之路，真的不来了解一下吗?GitHub8.8kStar的Java工程师成神之路，真...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/hollis_chuang">来自：	<span class="blog_title"> HollisChuang's Blog</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/shengqianfeng/article/details/102572691","strategy":"BlogCommendFromMachineLearnPai2","index":"18"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/shengqianfeng/article/details/102572691","strategy":"BlogCommendFromMachineLearnPai2","index":"18"}'>
	<div class="content">
		<a href="https://blog.csdn.net/shengqianfeng/article/details/102572691" target="_blank"  rel="noopener" title="史上最全的中高级JAVA工程师-面试题汇总">
		<h4 class="text-truncate oneline">
				史上最全的中高级JAVA工程师-面试题汇总		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-15</span>
				<span class="read-num hover-hide">
					阅读数 
					3万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/shengqianfeng/article/details/102572691" target="_blank" rel="noopener" title="史上最全的中高级JAVA工程师-面试题汇总">
				<span class="desc oneline">史上最全的java工程师面试题汇总，纯个人总结，精准无误。适合中高级JAVA工程师。...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/shengqianfeng">来自：	<span class="blog_title"> 在广？No，在深?  em,或许在专......</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_62" data-pid="62"><iframe  src="https://adaccount.csdn.net/#/preview/575?m=AcLELQvAAtpEHcEcAtpyHEiiSLcJEbSLbSDDAcHXDnHivpEipLALtbyvHLbnApbnQWnQnAibtopnScUQbiciSEcnyLHcpSQEpLnQ&k=" frameborder="0" width= "100%"  height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=AcLELQvAAtpEHcEcAtpyHEiiSLcJEbSLbSDDAcHXDnHivpEipLALtbyvHLbnApbnQWnQnAibtopnScUQbiciSEcnyLHcpSQEpLnQ"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43371556/article/details/102563502","strategy":"BlogCommendFromMachineLearnPai2","index":"19"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43371556/article/details/102563502","strategy":"BlogCommendFromMachineLearnPai2","index":"19"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_43371556/article/details/102563502" target="_blank"  rel="noopener" title="大数据学习之Linux基础">
		<h4 class="text-truncate oneline">
				大数据学习之Linux基础		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-18</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_43371556/article/details/102563502" target="_blank" rel="noopener" title="大数据学习之Linux基础">
				<span class="desc oneline">大数据学习之Linux基础自定义Linux虚拟机安装网络配置1.node1网络配置2.通过快照克隆虚拟机3.配置其他三个节点虚拟机Linux简单命令shell命令运行原理图1.关机与重启2.判断命令的...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_43371556">来自：	<span class="blog_title"> 时间静止</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37896194/article/details/102583326","strategy":"BlogCommendFromMachineLearnPai2","index":"20"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37896194/article/details/102583326","strategy":"BlogCommendFromMachineLearnPai2","index":"20"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_37896194/article/details/102583326" target="_blank"  rel="noopener" title="JDK8新特性之stream()">
		<h4 class="text-truncate oneline">
				JDK8新特性之stream()		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-21</span>
				<span class="read-num hover-hide">
					阅读数 
					8270</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_37896194/article/details/102583326" target="_blank" rel="noopener" title="JDK8新特性之stream()">
				<span class="desc oneline">学习Stream之前建议先学Lambda的相关知识使用实例：ClassPerson{privateStringname;privateintage;...}List&amp;lt;Person&amp;gt;list...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_37896194">来自：	<span class="blog_title"> xiaobai_Sun的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/fujiandiyi008/article/details/102617916","strategy":"BlogCommendFromMachineLearnPai2","index":"21"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/fujiandiyi008/article/details/102617916","strategy":"BlogCommendFromMachineLearnPai2","index":"21"}'>
	<div class="content">
		<a href="https://blog.csdn.net/fujiandiyi008/article/details/102617916" target="_blank"  rel="noopener" title="面试官:谈谈你对mysql索引的认识？">
		<h4 class="text-truncate oneline">
				面试官:谈谈你对mysql索引的认识？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-17</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/fujiandiyi008/article/details/102617916" target="_blank" rel="noopener" title="面试官:谈谈你对mysql索引的认识？">
				<span class="desc oneline">引言大家好，我渣渣烟。我曾经写过一篇《面试官:谈谈你对表设计的认识?》于是呢，决定再来一个mysql的数据库专题，这篇我们就来谈谈关于索引方面的mysql面试题。还是老规矩，讲的是在Innodb存储引...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/fujiandiyi008">来自：	<span class="blog_title"> 孤独烟</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_40676400/article/details/82862016","strategy":"BlogCommendFromMachineLearnPai2","index":"22"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_40676400/article/details/82862016","strategy":"BlogCommendFromMachineLearnPai2","index":"22"}'>
	<div class="content">
		<a href="https://blog.csdn.net/weixin_40676400/article/details/82862016" target="_blank"  rel="noopener" title="python 线程 Process用法">
		<h4 class="text-truncate oneline">
				<em>python</em> 线程 <em>Process</em>用法		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-27</span>
				<span class="read-num hover-hide">
					阅读数 
					216</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/weixin_40676400/article/details/82862016" target="_blank" rel="noopener" title="python 线程 Process用法">
				<span class="desc oneline">1、process 语法   参数def __init__(self, group=None, target=None, name=None, args=(), kwargs={})group：进程所...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/weixin_40676400">来自：	<span class="blog_title"> weixin_40676400的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/meteor_93/article/details/102618576","strategy":"BlogCommendFromMachineLearnPai2","index":"23"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/meteor_93/article/details/102618576","strategy":"BlogCommendFromMachineLearnPai2","index":"23"}'>
	<div class="content">
		<a href="https://blog.csdn.net/meteor_93/article/details/102618576" target="_blank"  rel="noopener" title="小白学 Python（1）：开篇">
		<h4 class="text-truncate oneline">
				小白学 <em>Python</em>（1）：开篇		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-18</span>
				<span class="read-num hover-hide">
					阅读数 
					9732</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/meteor_93/article/details/102618576" target="_blank" rel="noopener" title="小白学 Python（1）：开篇">
				<span class="desc oneline">人生苦短，我用Python引言大家好，可能大家都对我比较熟悉了，不熟悉请去面壁（现在熟悉一下也来得及）~简单做一个自我介绍，我是极客挖掘机的唯一作者，一位油腻的Java程序员【臭鸡蛋什么的先放放，等我...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/meteor_93">来自：	<span class="blog_title"> 极客挖掘机</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_63" data-pid="63"><iframe  src="https://adaccount.csdn.net/#/preview/758?m=ESnAbSctpfvAtHbDcJbniULiHcpJJAUpSfnpcpSAHEbXUHybvJiELitJnmJiAHtJbLpQnWcQmfiopEfLLiLSppSSJEDSfAHtncQQ&k=" frameborder="0" width= "100%"  height= "75px" scrolling="no" ></iframe><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?d=2&k=&m=ESnAbSctpfvAtHbDcJbniULiHcpJJAUpSfnpcpSAHEbXUHybvJiELitJnmJiAHtJbLpQnWcQmfiopEfLLiLSppSSJEDSfAHtncQQ"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/csdnnews/article/details/102617768","strategy":"BlogCommendFromMachineLearnPai2","index":"24"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/csdnnews/article/details/102617768","strategy":"BlogCommendFromMachineLearnPai2","index":"24"}'>
	<div class="content">
		<a href="https://blog.csdn.net/csdnnews/article/details/102617768" target="_blank"  rel="noopener" title="三年一跳槽、拒绝“唯学历”，火速 Get 这份程序员求生指南！">
		<h4 class="text-truncate oneline">
				三年一跳槽、拒绝“唯学历”，火速 Get 这份程序员求生指南！		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-17</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/csdnnews/article/details/102617768" target="_blank" rel="noopener" title="三年一跳槽、拒绝“唯学历”，火速 Get 这份程序员求生指南！">
				<span class="desc oneline">根据埃文斯数据公司（EvansDataCorporation）2019最新统计的数据显示，2018年全球共有2300万软件开发人员，预计到2019年底这个数字将达到2640万。但在这个庞大的数字背后，...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/csdnnews">来自：	<span class="blog_title"> CSDN资讯</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/ityouknow/article/details/102597598","strategy":"BlogCommendFromMachineLearnPai2","index":"25"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/ityouknow/article/details/102597598","strategy":"BlogCommendFromMachineLearnPai2","index":"25"}'>
	<div class="content">
		<a href="https://blog.csdn.net/ityouknow/article/details/102597598" target="_blank"  rel="noopener" title="只因写了一段爬虫，公司200多人被抓！">
		<h4 class="text-truncate oneline">
				只因写了一段爬虫，公司200多人被抓！		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-16</span>
				<span class="read-num hover-hide">
					阅读数 
					11万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/ityouknow/article/details/102597598" target="_blank" rel="noopener" title="只因写了一段爬虫，公司200多人被抓！">
				<span class="desc oneline">“一个程序员写了个爬虫程序，整个公司200多人被端了。”“不可能吧！”刚从朋友听到这个消息的时候，我有点不太相信，做为一名程序员来讲，谁还没有写过几段爬虫呢？只因写爬虫程序就被端有点夸张了吧。朋友说，...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/ityouknow">来自：	<span class="blog_title"> 纯洁的微笑</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43498110/article/details/102583831","strategy":"BlogCommendFromMachineLearnPai2","index":"26"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43498110/article/details/102583831","strategy":"BlogCommendFromMachineLearnPai2","index":"26"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_43498110/article/details/102583831" target="_blank"  rel="noopener" title="飞机大战">
		<h4 class="text-truncate oneline">
				飞机大战		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-16</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_43498110/article/details/102583831" target="_blank" rel="noopener" title="飞机大战">
				<span class="desc oneline">项目需求：实现一个简单的飞机大战程序，当消灭掉一个小飞机的时候的5分，当消灭掉一个小蜜蜂的时候有可能火力值增加24也有可能生命值增加1，如果打飞机也就是英雄机和敌人（蜜蜂+小飞机）碰撞之后，英雄机的火...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_43498110">来自：	<span class="blog_title"> qq_43498110的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/goodnameused/article/details/79961535","strategy":"BlogCommendFromMachineLearnPai2","index":"27"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/goodnameused/article/details/79961535","strategy":"BlogCommendFromMachineLearnPai2","index":"27"}'>
	<div class="content">
		<a href="https://blog.csdn.net/goodnameused/article/details/79961535" target="_blank"  rel="noopener" title="Python3.6 IDLE 使用 multiprocessing.Process 不显示执行函数的打印">
		<h4 class="text-truncate oneline">
				<em>Python</em>3.6 IDLE 使用 multi<em>process</em>ing.<em>Process</em> 不显示执行函数的打印		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">04-16</span>
				<span class="read-num hover-hide">
					阅读数 
					1481</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/goodnameused/article/details/79961535" target="_blank" rel="noopener" title="Python3.6 IDLE 使用 multiprocessing.Process 不显示执行函数的打印">
				<span class="desc oneline">要运行的程序：importosfrommultiprocessingimportProcessimporttimedefrun_proc(name):print('Childprocess%s(%s)...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/goodnameused">来自：	<span class="blog_title"> 123</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/u011085734/article/details/88976529","strategy":"BlogCommendFromMachineLearnPai2","index":"28"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/u011085734/article/details/88976529","strategy":"BlogCommendFromMachineLearnPai2","index":"28"}'>
	<div class="content">
		<a href="https://blog.csdn.net/u011085734/article/details/88976529" target="_blank"  rel="noopener" title="python-Process">
		<h4 class="text-truncate oneline">
				<em>python</em>-<em>Process</em>		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">04-02</span>
				<span class="read-num hover-hide">
					阅读数 
					62</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/u011085734/article/details/88976529" target="_blank" rel="noopener" title="python-Process">
				<span class="desc oneline">创建进程方法1from multiprocessing import Queue, Processimport osimport timedef test():    time.sleep(2)   ...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/u011085734">来自：	<span class="blog_title"> icanactnow</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_64" data-pid="64"><div id="three_ad28" class="mediav_ad" ></div>
<script type="text/javascript" src="//static.mediav.com/js/mvf_news_feed.js"></script>
<script>
                                               NEWS_FEED({
                w: 852,
                h : 60,
                showid : 'Afihld',
                placeholderId: "three_ad28",
                inject : 'define',
                define : {
                    imagePosition : 'left',
                    imageBorderRadius : 3,
                    imageWidth: 90,
                    imageHeight: 60,
                    imageFill : 'clip',
                    displayImage : true,
                    displayTitle : true,
                    titleFontSize: 18,
                    titleFontColor: '#000',
                    titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
                    titleFontWeight: 'bold',
                    titlePaddingTop : 0,
                    titlePaddingRight : 0,
                    titlePaddingBottom : 5,
                    titlePaddingLeft : 16,
                    displayDesc : true,
                    descFontSize: 14,
                    descFontColor: '#8e959a',
                    descFontFamily : 'Microsoft Yahei',
                    paddingTop : 0,
                    paddingRight : 0,
                    paddingBottom : 0,
                    paddingLeft : 0,
                    backgroundColor: '#fff',
                    hoverColor: '#000'
                      }
                  })
                                        </script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=64&a=81&c=0&k=&d=1&t=3&u=e4ab9e8ef70c4b37bc9b2d713265553b"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/op0912036/article/details/81674306","strategy":"BlogCommendFromMachineLearnPai2","index":"29"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/op0912036/article/details/81674306","strategy":"BlogCommendFromMachineLearnPai2","index":"29"}'>
	<div class="content">
		<a href="https://blog.csdn.net/op0912036/article/details/81674306" target="_blank"  rel="noopener" title="对Python中进程概念的理解（2）">
		<h4 class="text-truncate oneline">
				对<em>Python</em>中<em>进程</em>概念的<em>理解</em>（2）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">08-14</span>
				<span class="read-num hover-hide">
					阅读数 
					345</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/op0912036/article/details/81674306" target="_blank" rel="noopener" title="对Python中进程概念的理解（2）">
				<span class="desc oneline">进程池 Pool当需要创建的子进程数量不多时，可以直接利用multiprocessing中的Process动态成生多个进程。 但如果是上百甚至上千个目标，手动的去创建进程的工作量巨大，此时就可以用到m...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/op0912036">来自：	<span class="blog_title"> 不会修电脑的程序猿</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_34585625/article/details/102634632","strategy":"BlogCommendFromMachineLearnPai2","index":"30"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_34585625/article/details/102634632","strategy":"BlogCommendFromMachineLearnPai2","index":"30"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_34585625/article/details/102634632" target="_blank"  rel="noopener" title="Python学习笔记">
		<h4 class="text-truncate oneline">
				<em>Python</em>学习笔记		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-19</span>
				<span class="read-num hover-hide">
					阅读数 
					7490</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_34585625/article/details/102634632" target="_blank" rel="noopener" title="Python学习笔记">
				<span class="desc oneline">Python学习笔记（基础）文章目录Python学习笔记（基础）0.简介Python编程第一步模块与包错误和异常注释1.数据类型与运算符数据类型操作符2.控制流分支语句循环语句3.函数函数声名函数调用...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_34585625">来自：	<span class="blog_title"> 学渣的备忘录</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/Eastmount/article/details/102599092","strategy":"BlogCommendFromMachineLearnPai2","index":"31"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/Eastmount/article/details/102599092","strategy":"BlogCommendFromMachineLearnPai2","index":"31"}'>
	<div class="content">
		<a href="https://blog.csdn.net/Eastmount/article/details/102599092" target="_blank"  rel="noopener" title="我与CSDN的这十年——笔耕不辍，青春热血">
		<h4 class="text-truncate oneline">
				我与CSDN的这十年——笔耕不辍，青春热血		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-20</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/Eastmount/article/details/102599092" target="_blank" rel="noopener" title="我与CSDN的这十年——笔耕不辍，青春热血">
				<span class="desc oneline">1024程序员的节日就要来了，作者也挤时间写了一篇文章——《我与CSDN的这十年》，分享下程序猿和程序媛的故事，纪念这十年奋斗和感动的日子。十年， 说长不长，说短不短，人生进度条的八分之一，都是青春，...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/Eastmount">来自：	<span class="blog_title"> 杨秀璋的专栏</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/devcloud/article/details/102629922","strategy":"BlogCommendFromMachineLearnPai2","index":"32"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/devcloud/article/details/102629922","strategy":"BlogCommendFromMachineLearnPai2","index":"32"}'>
	<div class="content">
		<a href="https://blog.csdn.net/devcloud/article/details/102629922" target="_blank"  rel="noopener" title="了解 MongoDB 看这一篇就够了【华为云分享】">
		<h4 class="text-truncate oneline">
				了解 MongoDB 看这一篇就够了【华为云分享】		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-18</span>
				<span class="read-num hover-hide">
					阅读数 
					9844</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/devcloud/article/details/102629922" target="_blank" rel="noopener" title="了解 MongoDB 看这一篇就够了【华为云分享】">
				<span class="desc oneline">目录一、简介	二、基本模型	BSON数据类型		分布式ID		三、操作语法	四、索引	索引特性		索引分类		索引评估、调优		五、集群	分片机制		副本集		六、事务与一致性	一致性		小结一、简介...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/devcloud">来自：	<span class="blog_title"> 华为云官方博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/ThinkWon/article/details/102619466","strategy":"BlogCommendFromMachineLearnPai2","index":"33"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/ThinkWon/article/details/102619466","strategy":"BlogCommendFromMachineLearnPai2","index":"33"}'>
	<div class="content">
		<a href="https://blog.csdn.net/ThinkWon/article/details/102619466" target="_blank"  rel="noopener" title="Tomcat目录结构">
		<h4 class="text-truncate oneline">
				Tomcat目录结构		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-18</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/ThinkWon/article/details/102619466" target="_blank" rel="noopener" title="Tomcat目录结构">
				<span class="desc oneline">文章目录目录结构bin目录conf目录lib目录webapps目录temp目录Tomcat服务器是一个免费的开放源代码的Web应用服务器，属于轻量级应用服务器，在中小型系统和并发访问用户不是很多的场合...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/ThinkWon">来自：	<span class="blog_title"> ThinkWon的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_65" data-pid="65"><div id="three_ad33" class="mediav_ad" ></div>
<script>
                                               NEWS_FEED({
                w: 852,
                h : 60,
                showid : 'GNKXx7',
                placeholderId: "three_ad33",
                inject : 'define',
                define : {
                    imagePosition : 'left',
                    imageBorderRadius : 3,
                    imageWidth: 90,
                    imageHeight: 60,
                    imageFill : 'clip',
                    displayImage : true,
                    displayTitle : true,
                    titleFontSize: 18,
                    titleFontColor: '#000',
                    titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
                    titleFontWeight: 'bold',
                    titlePaddingTop : 0,
                    titlePaddingRight : 0,
                    titlePaddingBottom : 5,
                    titlePaddingLeft : 16,
                    displayDesc : true,
                    descFontSize: 14,
                    descFontColor: '#8e959a',
                    descFontFamily : 'Microsoft Yahei',
                    paddingTop : 0,
                    paddingRight : 0,
                    paddingBottom : 0,
                    paddingLeft : 0,
                    backgroundColor: '#fff',
                    hoverColor: '#000'
                      }
                  })
                                        </script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=65&a=84&c=0&k=&d=1&t=3&u=9282801ed9404ea29ed5a9cd5005d0a7"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_38405253/article/details/102583954","strategy":"BlogCommendFromMachineLearnPai2","index":"34"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_38405253/article/details/102583954","strategy":"BlogCommendFromMachineLearnPai2","index":"34"}'>
	<div class="content">
		<a href="https://blog.csdn.net/weixin_38405253/article/details/102583954" target="_blank"  rel="noopener" title="IntelliJ IDEA 超实用使用技巧分享">
		<h4 class="text-truncate oneline">
				IntelliJ IDEA 超实用使用技巧分享		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-16</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/weixin_38405253/article/details/102583954" target="_blank" rel="noopener" title="IntelliJ IDEA 超实用使用技巧分享">
				<span class="desc oneline">前言工欲善其事必先利其器最近受部门的邀请，给入职新人统一培训IDEA，发现有很多新人虽然日常开发使用的是IDEA，但是还是很多好用的技巧没有用到，只是用到一些基本的功能，蛮浪费IDEA这个优秀的IDE...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/weixin_38405253">来自：	<span class="blog_title"> Java知音</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/alex_yangchuansheng/article/details/102618128","strategy":"BlogCommendFromMachineLearnPai2","index":"35"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/alex_yangchuansheng/article/details/102618128","strategy":"BlogCommendFromMachineLearnPai2","index":"35"}'>
	<div class="content">
		<a href="https://blog.csdn.net/alex_yangchuansheng/article/details/102618128" target="_blank"  rel="noopener" title="Docker 大势已去，Podman 万岁">
		<h4 class="text-truncate oneline">
				Docker 大势已去，Podman 万岁		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-17</span>
				<span class="read-num hover-hide">
					阅读数 
					3万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/alex_yangchuansheng/article/details/102618128" target="_blank" rel="noopener" title="Docker 大势已去，Podman 万岁">
				<span class="desc oneline">前言郑重声明：本文不是Podman的入门篇，入门请阅读这篇文章：再见Docker，是时候拥抱下一代容器工具了Podman原来是CRI-O项目的一部分，后来被分......</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/alex_yangchuansheng">来自：	<span class="blog_title"> 云原生实验室</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/wo541075754/article/details/102623406","strategy":"BlogCommendFromMachineLearnPai2","index":"36"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/wo541075754/article/details/102623406","strategy":"BlogCommendFromMachineLearnPai2","index":"36"}'>
	<div class="content">
		<a href="https://blog.csdn.net/wo541075754/article/details/102623406" target="_blank"  rel="noopener" title="JVM之内存结构详解">
		<h4 class="text-truncate oneline">
				JVM之内存结构详解		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-18</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/wo541075754/article/details/102623406" target="_blank" rel="noopener" title="JVM之内存结构详解">
				<span class="desc oneline">对于开发人员来说，如果不了解Java的JVM，那真的是很难写得一手好代码，很难查得一手好bug。同时，JVM也是面试环节的中重灾区。今天开始，《JVM详解》系列开启，带大家深入了解JVM相关知识。我们...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/wo541075754">来自：	<span class="blog_title"> 程序新视界</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/yellowzf3/article/details/102634078","strategy":"BlogCommendFromMachineLearnPai2","index":"37"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/yellowzf3/article/details/102634078","strategy":"BlogCommendFromMachineLearnPai2","index":"37"}'>
	<div class="content">
		<a href="https://blog.csdn.net/yellowzf3/article/details/102634078" target="_blank"  rel="noopener" title="“来我公司写爬虫吗？会坐牢的那种！”">
		<h4 class="text-truncate oneline">
				“来我公司写爬虫吗？会坐牢的那种！”		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-18</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/yellowzf3/article/details/102634078" target="_blank" rel="noopener" title="“来我公司写爬虫吗？会坐牢的那种！”">
				<span class="desc oneline">欢迎关注“技术领导力”博客，每天早上8:30推送“你交代一下，总共抓了多少数据，在哪些网站抓的，数据干什么用了？看看够在里面呆几年。。。”警察语气凝重地对张强说。程序员张强（化名），回忆起这两天来的经...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/yellowzf3">来自：	<span class="blog_title"> 技术领导力</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_32154655/article/details/78783480","strategy":"BlogCommendFromMachineLearnPai2","index":"38"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_32154655/article/details/78783480","strategy":"BlogCommendFromMachineLearnPai2","index":"38"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_32154655/article/details/78783480" target="_blank"  rel="noopener" title="Python之process(三)">
		<h4 class="text-truncate oneline">
				<em>Python</em>之<em>process</em>(三)		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">12-12</span>
				<span class="read-num hover-hide">
					阅读数 
					1117</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_32154655/article/details/78783480" target="_blank" rel="noopener" title="Python之process(三)">
				<span class="desc oneline">Python之process(三)1.Manager模块#!/usr/bin/env python# -*- coding:utf8 -*-# @Time     : 2017/12/12 14:48...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/qq_32154655">来自：	<span class="blog_title"> qq_32154655的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><div id="kp_box_66" data-pid="66"><div id="three_ad38" class="mediav_ad" ></div>
<script>
                                               NEWS_FEED({
                w: 852,
                h : 60,
                showid : 'Afihld',
                placeholderId: "three_ad38",
                inject : 'define',
                define : {
                    imagePosition : 'left',
                    imageBorderRadius : 3,
                    imageWidth: 90,
                    imageHeight: 60,
                    imageFill : 'clip',
                    displayImage : true,
                    displayTitle : true,
                    titleFontSize: 18,
                    titleFontColor: '#000',
                    titleFontFamily : 'Lato,-apple-system,SF UI Text,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif',
                    titleFontWeight: 'bold',
                    titlePaddingTop : 0,
                    titlePaddingRight : 0,
                    titlePaddingBottom : 5,
                    titlePaddingLeft : 16,
                    displayDesc : true,
                    descFontSize: 14,
                    descFontColor: '#8e959a',
                    descFontFamily : 'Microsoft Yahei',
                    paddingTop : 0,
                    paddingRight : 0,
                    paddingBottom : 0,
                    paddingLeft : 0,
                    backgroundColor: '#fff',
                    hoverColor: '#000'
                      }
                  })
                                        </script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=66&a=87&c=0&k=&d=1&t=3&u=82d721b9eb534233babd10d9d199ae77"></div></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/zbrj12345/article/details/79760255","strategy":"BlogCommendFromMachineLearnPai2","index":"39"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/zbrj12345/article/details/79760255","strategy":"BlogCommendFromMachineLearnPai2","index":"39"}'>
	<div class="content">
		<a href="https://blog.csdn.net/zbrj12345/article/details/79760255" target="_blank"  rel="noopener" title="Python两个进程沟通问题">
		<h4 class="text-truncate oneline">
				<em>Python</em>两个<em>进程</em>沟通问题		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">03-30</span>
				<span class="read-num hover-hide">
					阅读数 
					168</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/zbrj12345/article/details/79760255" target="_blank" rel="noopener" title="Python两个进程沟通问题">
				<span class="desc oneline">#在父进程中创建两个子进程，一个往Queue写数据，一个从Queue读数据，## 用同一个消息队列from multiprocessing import Queue,Processimport tim...</span>
			</a>
			<span class="blog_title_box oneline ">
									<span class="type-show type-show-blog type-show-after">博文</span>
											<a target="_blank" rel="noopener" href="https://blog.csdn.net/zbrj12345">来自：	<span class="blog_title"> zbrj12345的博客</span></a>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/z694644032/article/details/100084287","strategy":"BlogCommendHotData","index":"0"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/z694644032/article/details/100084287","strategy":"BlogCommendHotData","index":"0"}'>
	<div class="content">
		<a href="https://blog.csdn.net/z694644032/article/details/100084287" target="_blank"  rel="noopener" title="学会了这些技术，你离BAT大厂不远了">
		<h4 class="text-truncate oneline">
				学会了这些技术，你离BAT大厂不远了		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">08-26</span>
				<span class="read-num hover-hide">
					阅读数 
					15万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/z694644032/article/details/100084287" target="_blank" rel="noopener" title="学会了这些技术，你离BAT大厂不远了">
				<span class="desc oneline">每一个程序员都有一个梦想，梦想着能够进入阿里、腾讯、字节跳动、百度等一线互联网公司，由于身边的环境等原因，不知道 BAT 等一线互联网公司使用哪些技术？或者该如何去学习这些技术？或者我该去哪些获取这些...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/gexiaoyizhimei/article/details/100122368","strategy":"BlogCommendHotData","index":"1"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/gexiaoyizhimei/article/details/100122368","strategy":"BlogCommendHotData","index":"1"}'>
	<div class="content">
		<a href="https://blog.csdn.net/gexiaoyizhimei/article/details/100122368" target="_blank"  rel="noopener" title="Linux文件操作高频使用命令">
		<h4 class="text-truncate oneline">
				Linux文件操作高频使用命令		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">08-28</span>
				<span class="read-num hover-hide">
					阅读数 
					1996</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/gexiaoyizhimei/article/details/100122368" target="_blank" rel="noopener" title="Linux文件操作高频使用命令">
				<span class="desc oneline">文章目录0.新建操作：1.查看操作2.删除操作3.复制操作4.移动操作：5.重命名操作：6.解压压缩操作
0.新建操作：
mkdir abc #新建一个文件夹
touch abc.sh #新建一...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_38106923/article/details/100130354","strategy":"BlogCommendHotData","index":"2"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_38106923/article/details/100130354","strategy":"BlogCommendHotData","index":"2"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_38106923/article/details/100130354" target="_blank"  rel="noopener" title="程序员实用工具网站">
		<h4 class="text-truncate oneline">
				程序员实用工具网站		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-04</span>
				<span class="read-num hover-hide">
					阅读数 
					18万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_38106923/article/details/100130354" target="_blank" rel="noopener" title="程序员实用工具网站">
				<span class="desc oneline">目录

1、搜索引擎

2、PPT

3、图片操作

4、文件共享

5、应届生招聘

6、程序员面试题库

7、办公、开发软件

8、高清图片、视频素材网站

9、项目开源

10、算法

11、在...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_44543508/article/details/100192558","strategy":"BlogCommendHotData","index":"3"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_44543508/article/details/100192558","strategy":"BlogCommendHotData","index":"3"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_44543508/article/details/100192558" target="_blank"  rel="noopener" title="史上最详细的IDEA优雅整合Maven+SSM框架（详细思路+附带源码）">
		<h4 class="text-truncate oneline">
				史上最详细的IDEA优雅整合Maven+SSM框架（详细思路+附带源码）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-29</span>
				<span class="read-num hover-hide">
					阅读数 
					3万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_44543508/article/details/100192558" target="_blank" rel="noopener" title="史上最详细的IDEA优雅整合Maven+SSM框架（详细思路+附带源码）">
				<span class="desc oneline">网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰，可以试着关掉整合教程，摇两下头骨，哈一大口气，就在万事具备的时候，开整，这个时候你可能思路全无 ~中招了咩~ ，还有一些同学依旧在使用...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><script type="text/javascript" src="//rabc1.iteye.com/production/res/rxjg.js?pkcgstj=jm"></script></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/sinat_33224091/article/details/100645137","strategy":"BlogCommendHotData","index":"4"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/sinat_33224091/article/details/100645137","strategy":"BlogCommendHotData","index":"4"}'>
	<div class="content">
		<a href="https://blog.csdn.net/sinat_33224091/article/details/100645137" target="_blank"  rel="noopener" title="全球最厉害的 14 位程序员！">
		<h4 class="text-truncate oneline">
				全球最厉害的 14 位程序员！		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-08</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/sinat_33224091/article/details/100645137" target="_blank" rel="noopener" title="全球最厉害的 14 位程序员！">
				<span class="desc oneline">来源 | ITWorld 整理自网络全球最厉害的 14 位程序员是谁？今天就让我们一起来了解一下吧，排名不分先后。01. Jon Skeet个人名望：程序技术问答网站 S......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_40693171/article/details/100716766","strategy":"BlogCommendHotData","index":"5"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_40693171/article/details/100716766","strategy":"BlogCommendHotData","index":"5"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_40693171/article/details/100716766" target="_blank"  rel="noopener" title="我花了一夜用数据结构给女朋友写个H5走迷宫游戏">
		<h4 class="text-truncate oneline">
				我花了一夜用数据结构给女朋友写个H5走迷宫游戏		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-21</span>
				<span class="read-num hover-hide">
					阅读数 
					15万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_40693171/article/details/100716766" target="_blank" rel="noopener" title="我花了一夜用数据结构给女朋友写个H5走迷宫游戏">
				<span class="desc oneline">起因

又到深夜了，我按照以往在csdn和公众号写着数据结构！这占用了我大量的时间！我的超越妹妹严重缺乏陪伴而 怨气满满！

而女朋友时常埋怨，认为数据结构这么抽象难懂的东西没啥作用，常会问道...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/kexuanxiu1163/article/details/100869719","strategy":"BlogCommendHotData","index":"6"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/kexuanxiu1163/article/details/100869719","strategy":"BlogCommendHotData","index":"6"}'>
	<div class="content">
		<a href="https://blog.csdn.net/kexuanxiu1163/article/details/100869719" target="_blank"  rel="noopener" title="什么是大公司病（太形象了）">
		<h4 class="text-truncate oneline">
				什么是大公司病（太形象了）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-15</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/kexuanxiu1163/article/details/100869719" target="_blank" rel="noopener" title="什么是大公司病（太形象了）">
				<span class="desc oneline">点击蓝色“五分钟学算法”关注我哟加个“星标”，天天中午 12:15，一起学算法作者 | 南之鱼来源 | 芝麻观点（chinamkt）所谓大企业病，一般都具有机构臃肿、多重......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/ybhuangfugui/article/details/100913641","strategy":"BlogCommendHotData","index":"7"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/ybhuangfugui/article/details/100913641","strategy":"BlogCommendHotData","index":"7"}'>
	<div class="content">
		<a href="https://blog.csdn.net/ybhuangfugui/article/details/100913641" target="_blank"  rel="noopener" title="让程序员崩溃的瞬间（非程序员勿入）">
		<h4 class="text-truncate oneline">
				让程序员崩溃的瞬间（非程序员勿入）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-16</span>
				<span class="read-num hover-hide">
					阅读数 
					22万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/ybhuangfugui/article/details/100913641" target="_blank" rel="noopener" title="让程序员崩溃的瞬间（非程序员勿入）">
				<span class="desc oneline">今天给大家带来点快乐，程序员才能看懂。



来源：https://zhuanlan.zhihu.com/p/47066521




1. 公司实习生找 Bug







2.在调试时，将断点设...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43371556/article/details/101027046","strategy":"BlogCommendHotData","index":"8"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43371556/article/details/101027046","strategy":"BlogCommendHotData","index":"8"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_43371556/article/details/101027046" target="_blank"  rel="noopener" title="Spring高级技术梳理">
		<h4 class="text-truncate oneline">
				Spring高级技术梳理		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-20</span>
				<span class="read-num hover-hide">
					阅读数 
					3699</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_43371556/article/details/101027046" target="_blank" rel="noopener" title="Spring高级技术梳理">
				<span class="desc oneline">Spring高级技术梳理   序言正文SpringDate部分Spring全家桶之SpringData——预科阶段Spring全家桶之SpringData——Spring 整合Hibernate与Hi...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	<div class="recommend-item-box recommend-recommend-box"><script type="text/javascript" src="//rabc1.iteye.com/production/res/rxjg.js?pkcgstj=jm"></script></div>
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/ljk126wy/article/details/101064186","strategy":"BlogCommendHotData","index":"9"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/ljk126wy/article/details/101064186","strategy":"BlogCommendHotData","index":"9"}'>
	<div class="content">
		<a href="https://blog.csdn.net/ljk126wy/article/details/101064186" target="_blank"  rel="noopener" title="Git 天天用 但是 Git 原理你了解吗？">
		<h4 class="text-truncate oneline">
				Git 天天用 但是 Git 原理你了解吗？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-20</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/ljk126wy/article/details/101064186" target="_blank" rel="noopener" title="Git 天天用 但是 Git 原理你了解吗？">
				<span class="desc oneline">Git 原理
做技术一定要知其然知其所以然，意思就是：知道它是这样的，更知道它为什么是这样的。我主要通过4块内容来简单介绍 Git 是原理是什么样的。这4块内容如下：

Git 存储目录结构介绍
Gi...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/lantian_123/article/details/101488841","strategy":"BlogCommendHotData","index":"10"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/lantian_123/article/details/101488841","strategy":"BlogCommendHotData","index":"10"}'>
	<div class="content">
		<a href="https://blog.csdn.net/lantian_123/article/details/101488841" target="_blank"  rel="noopener" title="分享靠写代码赚钱的一些门路">
		<h4 class="text-truncate oneline">
				分享靠写代码赚钱的一些门路		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-26</span>
				<span class="read-num hover-hide">
					阅读数 
					5万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/lantian_123/article/details/101488841" target="_blank" rel="noopener" title="分享靠写代码赚钱的一些门路">
				<span class="desc oneline">作者 mezod，译者 josephchang10如今，通过自己的代码去赚钱变得越来越简单，不过对很多人来说依然还是很难，因为他们不知道有哪些门路。今天给大家分享一个精彩......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/harvic880925/article/details/101511637","strategy":"BlogCommendHotData","index":"11"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/harvic880925/article/details/101511637","strategy":"BlogCommendHotData","index":"11"}'>
	<div class="content">
		<a href="https://blog.csdn.net/harvic880925/article/details/101511637" target="_blank"  rel="noopener" title="对计算机专业来说学历真的重要吗？">
		<h4 class="text-truncate oneline">
				对计算机专业来说学历真的重要吗？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-27</span>
				<span class="read-num hover-hide">
					阅读数 
					7万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/harvic880925/article/details/101511637" target="_blank" rel="noopener" title="对计算机专业来说学历真的重要吗？">
				<span class="desc oneline">我本科学校是渣渣二本，研究生学校是985，现在毕业五年，校招笔试、面试，社招面试参加了两年了，就我个人的经历来说下这个问题。

这篇文章很长，但绝对是精华，相信我，读完以后，你会知道学历不好的解决方案...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/lantian_123/article/details/101514976","strategy":"BlogCommendHotData","index":"12"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/lantian_123/article/details/101514976","strategy":"BlogCommendHotData","index":"12"}'>
	<div class="content">
		<a href="https://blog.csdn.net/lantian_123/article/details/101514976" target="_blank"  rel="noopener" title="技术人员要拿百万年薪，必须要经历这9个段位">
		<h4 class="text-truncate oneline">
				技术人员要拿百万年薪，必须要经历这9个段位		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">08-24</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/lantian_123/article/details/101514976" target="_blank" rel="noopener" title="技术人员要拿百万年薪，必须要经历这9个段位">
				<span class="desc oneline">很多人都问，技术人员如何成长，每个阶段又是怎样的，如何才能走出当前的迷茫，实现自我的突破。所以我结合我自己10多年的从业经验，总结了技术人员成长的9个段位，希望对大家的职......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/foruok/article/details/101678953","strategy":"BlogCommendHotData","index":"13"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/foruok/article/details/101678953","strategy":"BlogCommendHotData","index":"13"}'>
	<div class="content">
		<a href="https://blog.csdn.net/foruok/article/details/101678953" target="_blank"  rel="noopener" title="8000字干货：那些很厉害的人是怎么构建知识体系的">
		<h4 class="text-truncate oneline">
				8000字干货：那些很厉害的人是怎么构建知识体系的		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">09-29</span>
				<span class="read-num hover-hide">
					阅读数 
					4万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/foruok/article/details/101678953" target="_blank" rel="noopener" title="8000字干货：那些很厉害的人是怎么构建知识体系的">
				<span class="desc oneline">本文约8000字，正常阅读需要15~20分钟。读完本文可以获得如下收益：

分辨知识和知识体系的差别
理解如何用八大问发现知识的连接点；
掌握致用类知识体系的构建方法；
能够应用甜蜜区模型找到特定领域...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_40036754/article/details/102463099","strategy":"BlogCommendHotData","index":"14"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_40036754/article/details/102463099","strategy":"BlogCommendHotData","index":"14"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_40036754/article/details/102463099" target="_blank"  rel="noopener" title="nginx学习，看这一篇就够了：下载、安装。使用：正向代理、反向代理、负载均衡。常用命令和配置文件">
		<h4 class="text-truncate oneline">
				nginx学习，看这一篇就够了：下载、安装。使用：正向代理、反向代理、负载均衡。常用命令和配置文件		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-25</span>
				<span class="read-num hover-hide">
					阅读数 
					7079</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_40036754/article/details/102463099" target="_blank" rel="noopener" title="nginx学习，看这一篇就够了：下载、安装。使用：正向代理、反向代理、负载均衡。常用命令和配置文件">
				<span class="desc oneline">文章目录前言一、nginx简介1.  什么是 nginx 和可以做什么事情2.Nginx 作为 web 服务器3. 正向代理4. 反向代理5. 动静分离6.动静分离二、Nginx 的安装三、 Ngin...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/chest_/article/details/102537988","strategy":"BlogCommendHotData","index":"15"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/chest_/article/details/102537988","strategy":"BlogCommendHotData","index":"15"}'>
	<div class="content">
		<a href="https://blog.csdn.net/chest_/article/details/102537988" target="_blank"  rel="noopener" title="《漏洞篇》sql注入---入门到进阶">
		<h4 class="text-truncate oneline">
				《漏洞篇》sql注入---入门到进阶		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-24</span>
				<span class="read-num hover-hide">
					阅读数 
					2043</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/chest_/article/details/102537988" target="_blank" rel="noopener" title="《漏洞篇》sql注入---入门到进阶">
				<span class="desc oneline">目录导航
sql注入的原理
sql注入的条件
sql注入的危害
sql注入的分类、验证及利用方式
sql数值型注入

sql注入的原理：
概述：针对SQL注入的攻击行为可描述为通过用户可控参数中注入S...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/zhongyangzhong/article/details/102578044","strategy":"BlogCommendHotData","index":"17"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/zhongyangzhong/article/details/102578044","strategy":"BlogCommendHotData","index":"17"}'>
	<div class="content">
		<a href="https://blog.csdn.net/zhongyangzhong/article/details/102578044" target="_blank"  rel="noopener" title="2019诺贝尔经济学奖得主：贫穷的本质是什么？">
		<h4 class="text-truncate oneline">
				2019诺贝尔经济学奖得主：贫穷的本质是什么？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-15</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/zhongyangzhong/article/details/102578044" target="_blank" rel="noopener" title="2019诺贝尔经济学奖得主：贫穷的本质是什么？">
				<span class="desc oneline">2019年诺贝尔经济学奖，颁给了来自麻省理工学院的 阿巴希·巴纳吉（Abhijit Vinayak Banerjee）、艾丝特·杜芙若（Esther Duflo）夫妇和哈......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102618796","strategy":"BlogCommendHotData","index":"18"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102618796","strategy":"BlogCommendHotData","index":"18"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_37907797/article/details/102618796" target="_blank"  rel="noopener" title="别在学习框架了，那些让你起飞的计算机基础知识。">
		<h4 class="text-truncate oneline">
				别在学习框架了，那些让你起飞的计算机基础知识。		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-22</span>
				<span class="read-num hover-hide">
					阅读数 
					5万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_37907797/article/details/102618796" target="_blank" rel="noopener" title="别在学习框架了，那些让你起飞的计算机基础知识。">
				<span class="desc oneline">我之前里的文章，写的大部分都是与计算机基础知识相关的，这些基础知识，就像我们的内功，如果在未来想要走的更远，这些内功是必须要修炼的。框架千变万化，而这些通用的底层知识，却是几乎不变的，了解了这些知识，...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37969433/article/details/102637226","strategy":"BlogCommendHotData","index":"19"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_37969433/article/details/102637226","strategy":"BlogCommendHotData","index":"19"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_37969433/article/details/102637226" target="_blank"  rel="noopener" title="MySQL数据库—SQL汇总">
		<h4 class="text-truncate oneline">
				MySQL数据库—SQL汇总		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-24</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_37969433/article/details/102637226" target="_blank" rel="noopener" title="MySQL数据库—SQL汇总">
				<span class="desc oneline">一、准备
下文整理常见SQL语句的用法，使用MySQL5.7测试，参考了尚硅谷MySQL教程及用例。用例sql：
链接: https://pan.baidu.com/s/1tb3-12MRNFjV8d...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_35067322/article/details/102645455","strategy":"BlogCommendHotData","index":"20"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_35067322/article/details/102645455","strategy":"BlogCommendHotData","index":"20"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_35067322/article/details/102645455" target="_blank"  rel="noopener" title="Spring Boot 2 实战：使用 Spring Boot Admin 监控你的应用">
		<h4 class="text-truncate oneline">
				Spring Boot 2 实战：使用 Spring Boot Admin 监控你的应用		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-20</span>
				<span class="read-num hover-hide">
					阅读数 
					642</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_35067322/article/details/102645455" target="_blank" rel="noopener" title="Spring Boot 2 实战：使用 Spring Boot Admin 监控你的应用">
				<span class="desc oneline">1. 前言
生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/loongggdroid/article/details/102656177","strategy":"BlogCommendHotData","index":"21"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/loongggdroid/article/details/102656177","strategy":"BlogCommendHotData","index":"21"}'>
	<div class="content">
		<a href="https://blog.csdn.net/loongggdroid/article/details/102656177" target="_blank"  rel="noopener" title="五款高效率黑科技神器工具，炸裂好用，省时间">
		<h4 class="text-truncate oneline">
				五款高效率黑科技神器工具，炸裂好用，省时间		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-20</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/loongggdroid/article/details/102656177" target="_blank" rel="noopener" title="五款高效率黑科技神器工具，炸裂好用，省时间">
				<span class="desc oneline">loonggg读完需要4分钟速读仅需2分钟感觉我好久好久没有给大家分享高质量的软件和插件了。今天周末，难得在家休息一下，痛下决心，分享一些我认为的高效率工具软件给大家。废......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36903042/article/details/102656641","strategy":"BlogCommendHotData","index":"22"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36903042/article/details/102656641","strategy":"BlogCommendHotData","index":"22"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_36903042/article/details/102656641" target="_blank"  rel="noopener" title="动画：用动画给女朋友讲解 TCP 四次分手过程">
		<h4 class="text-truncate oneline">
				动画：用动画给女朋友讲解 TCP 四次分手过程		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-21</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_36903042/article/details/102656641" target="_blank" rel="noopener" title="动画：用动画给女朋友讲解 TCP 四次分手过程">
				<span class="desc oneline">作者 |  小鹿
来源 |  公众号：小鹿动画学编程

写在前边
大家好，我们又见面了，做为一个业余的动画师，上次的用动画的形式讲解 TCP 三次握手过程再各大平台收到了广大读者的喜爱，说文章有趣、有...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102661778","strategy":"BlogCommendHotData","index":"23"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102661778","strategy":"BlogCommendHotData","index":"23"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_37907797/article/details/102661778" target="_blank"  rel="noopener" title="程序员必须掌握的核心算法有哪些？">
		<h4 class="text-truncate oneline">
				程序员必须掌握的核心算法有哪些？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-21</span>
				<span class="read-num hover-hide">
					阅读数 
					6万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_37907797/article/details/102661778" target="_blank" rel="noopener" title="程序员必须掌握的核心算法有哪些？">
				<span class="desc oneline">由于我之前一直强调数据结构以及算法学习的重要性，所以就有一些读者经常问我，数据结构与算法应该要学习到哪个程度呢？，说实话，这个问题我不知道要怎么回答你，主要取决于你想学习到哪些程度，不过针对这个问题，...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43371556/article/details/102667146","strategy":"BlogCommendHotData","index":"24"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_43371556/article/details/102667146","strategy":"BlogCommendHotData","index":"24"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_43371556/article/details/102667146" target="_blank"  rel="noopener" title="高并发技术">
		<h4 class="text-truncate oneline">
				高并发技术		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-24</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_43371556/article/details/102667146" target="_blank" rel="noopener" title="高并发技术">
				<span class="desc oneline">高并发技术   第一章 预备知识一 理解大数据二 网工基础知识OSI七层参考模型应用层表示层会话层传输层网络层链路层物理层功能分层总结第二章 LVS技术一  LVS介绍二 LVS调度算法LVS命令监控...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/xufive/article/details/102676755","strategy":"BlogCommendHotData","index":"25"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/xufive/article/details/102676755","strategy":"BlogCommendHotData","index":"25"}'>
	<div class="content">
		<a href="https://blog.csdn.net/xufive/article/details/102676755" target="_blank"  rel="noopener" title="python 程序员进阶之路：从新手到高手的100个模块">
		<h4 class="text-truncate oneline">
				python 程序员进阶之路：从新手到高手的100个模块		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-23</span>
				<span class="read-num hover-hide">
					阅读数 
					5万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/xufive/article/details/102676755" target="_blank" rel="noopener" title="python 程序员进阶之路：从新手到高手的100个模块">
				<span class="desc oneline">在知乎和CSDN的圈子里，经常看到、听到一些 python 初学者说，学完基础语法后，不知道该学什么，学了也不知道怎么用，一脸的茫然。近日，CSDN的公众号推送了一篇博客，题目叫做《迷思：Python...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_43943977/article/details/102691392","strategy":"BlogCommendHotData","index":"26"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_43943977/article/details/102691392","strategy":"BlogCommendHotData","index":"26"}'>
	<div class="content">
		<a href="https://blog.csdn.net/weixin_43943977/article/details/102691392" target="_blank"  rel="noopener" title="Python——画一棵漂亮的樱花树（不同种樱花+玫瑰+圣诞树喔）">
		<h4 class="text-truncate oneline">
				Python——画一棵漂亮的樱花树（不同种樱花+玫瑰+圣诞树喔）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-22</span>
				<span class="read-num hover-hide">
					阅读数 
					3万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/weixin_43943977/article/details/102691392" target="_blank" rel="noopener" title="Python——画一棵漂亮的樱花树（不同种樱花+玫瑰+圣诞树喔）">
				<span class="desc oneline">最近翻到一篇知乎，上面有不少用Python（大多是turtle库）绘制的树图，感觉很漂亮，我整理了一下，挑了一些我觉得不错的代码分享给大家（这些我都测试过，确实可以生成）
one 樱花树

 动...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/csdnnews/article/details/102693777","strategy":"BlogCommendHotData","index":"27"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/csdnnews/article/details/102693777","strategy":"BlogCommendHotData","index":"27"}'>
	<div class="content">
		<a href="https://blog.csdn.net/csdnnews/article/details/102693777" target="_blank"  rel="noopener" title="程序员不懂浪漫？胡扯！">
		<h4 class="text-truncate oneline">
				程序员不懂浪漫？胡扯！		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-22</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/csdnnews/article/details/102693777" target="_blank" rel="noopener" title="程序员不懂浪漫？胡扯！">
				<span class="desc oneline">程序员男朋友你的程序员男朋友为你做过什么暖心的事情呢？我的男朋友是一个程序员，他有很多大家在网络上吐槽的程序员的缺点，比如加班很多，没空陪我吃饭逛街看电影，比如说他有的时......</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/lianghecai52171314/article/details/102711958","strategy":"BlogCommendHotData","index":"28"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/lianghecai52171314/article/details/102711958","strategy":"BlogCommendHotData","index":"28"}'>
	<div class="content">
		<a href="https://blog.csdn.net/lianghecai52171314/article/details/102711958" target="_blank"  rel="noopener" title="阿里编程规范（简化版）">
		<h4 class="text-truncate oneline">
				阿里编程规范（简化版）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-24</span>
				<span class="read-num hover-hide">
					阅读数 
					2814</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/lianghecai52171314/article/details/102711958" target="_blank" rel="noopener" title="阿里编程规范（简化版）">
				<span class="desc oneline">阿里编程规范 及 阿里Java开发规约插件 Alibaba Java Coding Guidelines
统一规范标准将有助于提高行业编码规范化水平，帮助行业人员提高开发质量和效率、大大降低代码维护成...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/hyb612/article/details/102730648","strategy":"BlogCommendHotData","index":"29"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/hyb612/article/details/102730648","strategy":"BlogCommendHotData","index":"29"}'>
	<div class="content">
		<a href="https://blog.csdn.net/hyb612/article/details/102730648" target="_blank"  rel="noopener" title="Linux/C/C++ 不可错过的好书">
		<h4 class="text-truncate oneline">
				Linux/C/C++ 不可错过的好书		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-24</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/hyb612/article/details/102730648" target="_blank" rel="noopener" title="Linux/C/C++ 不可错过的好书">
				<span class="desc oneline">来源：公众号【编程珠玑】

作者：守望先生

ID：shouwangxiansheng



前言

经常有读者让我推荐书籍，这次我就把我私藏的计算机书单分享给你们！不过由于时间匆忙，不会进行更加详细...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/u011225629/article/details/102756288","strategy":"BlogCommendHotData","index":"30"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/u011225629/article/details/102756288","strategy":"BlogCommendHotData","index":"30"}'>
	<div class="content">
		<a href="https://blog.csdn.net/u011225629/article/details/102756288" target="_blank"  rel="noopener" title="单点登录（SSO）">
		<h4 class="text-truncate oneline">
				单点登录（SSO）		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-26</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/u011225629/article/details/102756288" target="_blank" rel="noopener" title="单点登录（SSO）">
				<span class="desc oneline">一、SSO（单点登录）介绍

SSO英文全称Single SignOn，单点登录。SSO是在多个应用系统中，用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102759257","strategy":"BlogCommendHotData","index":"31"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102759257","strategy":"BlogCommendHotData","index":"31"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_37907797/article/details/102759257" target="_blank"  rel="noopener" title="漫话：什么是 https ?这应该是全网把 https 讲的最好的一篇文章了">
		<h4 class="text-truncate oneline">
				漫话：什么是 https ?这应该是全网把 https 讲的最好的一篇文章了		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-26</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_37907797/article/details/102759257" target="_blank" rel="noopener" title="漫话：什么是 https ?这应该是全网把 https 讲的最好的一篇文章了">
				<span class="desc oneline">今天这篇文章，讲通过对话的形式，让你由浅入深着知道，为什么 Https 是安全的。




一、对称加密

一禅：在每次发送真实数据之前，服务器先生成一把密钥，然后先把密钥传输给客户端。之后服务器给客...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_45108087/article/details/102766281","strategy":"BlogCommendHotData","index":"32"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/weixin_45108087/article/details/102766281","strategy":"BlogCommendHotData","index":"32"}'>
	<div class="content">
		<a href="https://blog.csdn.net/weixin_45108087/article/details/102766281" target="_blank"  rel="noopener" title="史上最全的mysql基础教程">
		<h4 class="text-truncate oneline">
				史上最全的mysql基础教程		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/weixin_45108087/article/details/102766281" target="_blank" rel="noopener" title="史上最全的mysql基础教程">
				<span class="desc oneline">启动与停止

启动mysql服务
sudo /usr/local/mysql/support-files/mysql.server start
停止mysql服务
sudo /usr/loc...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102767860","strategy":"BlogCommendHotData","index":"33"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102767860","strategy":"BlogCommendHotData","index":"33"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_37907797/article/details/102767860" target="_blank"  rel="noopener" title="为什么你学不会递归？告别递归，谈谈我的经验">
		<h4 class="text-truncate oneline">
				为什么你学不会递归？告别递归，谈谈我的经验		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_37907797/article/details/102767860" target="_blank" rel="noopener" title="为什么你学不会递归？告别递归，谈谈我的经验">
				<span class="desc oneline">可能很多人在大一的时候，就已经接触了递归了，不过，我敢保证很多人初学者刚开始接触递归的时候，是一脸懵逼的，我当初也是，给我的感觉就是，递归太神奇了！
可能也有一大部分人知道递归，也能看的懂递归，但在实...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36903042/article/details/102770331","strategy":"BlogCommendHotData","index":"34"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qq_36903042/article/details/102770331","strategy":"BlogCommendHotData","index":"34"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qq_36903042/article/details/102770331" target="_blank"  rel="noopener" title="大学四年，分享看过的优质书籍">
		<h4 class="text-truncate oneline">
				大学四年，分享看过的优质书籍		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-27</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qq_36903042/article/details/102770331" target="_blank" rel="noopener" title="大学四年，分享看过的优质书籍">
				<span class="desc oneline">数据结构与算法是我在大学里第一次接触到的，当时学了很多其他安卓、网页之类的，一开始就感觉纳闷，数据结构和算法学这个有啥用，再加上上的是一所野鸡大学，老师讲的也是模模糊糊，平时做项目、练习也几乎不用数据...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/harvic880925/article/details/102774769","strategy":"BlogCommendHotData","index":"35"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/harvic880925/article/details/102774769","strategy":"BlogCommendHotData","index":"35"}'>
	<div class="content">
		<a href="https://blog.csdn.net/harvic880925/article/details/102774769" target="_blank"  rel="noopener" title="有哪些让程序员受益终生的建议">
		<h4 class="text-truncate oneline">
				有哪些让程序员受益终生的建议		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					2万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/harvic880925/article/details/102774769" target="_blank" rel="noopener" title="有哪些让程序员受益终生的建议">
				<span class="desc oneline">从业五年多，辗转两个大厂，出过书，创过业，从技术小白成长为基层管理，联合几个业内大牛回答下这个问题，希望能帮到大家，记得帮我点赞哦。

敲黑板！！！读了这篇文章，你将知道如何才能进大厂，如何实现财务自...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/hollis_chuang/article/details/102776191","strategy":"BlogCommendHotData","index":"36"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/hollis_chuang/article/details/102776191","strategy":"BlogCommendHotData","index":"36"}'>
	<div class="content">
		<a href="https://blog.csdn.net/hollis_chuang/article/details/102776191" target="_blank"  rel="noopener" title="最近程序员频繁被抓，如何避免面向监狱编程！？">
		<h4 class="text-truncate oneline">
				最近程序员频繁被抓，如何避免面向监狱编程！？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					5万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/hollis_chuang/article/details/102776191" target="_blank" rel="noopener" title="最近程序员频繁被抓，如何避免面向监狱编程！？">
				<span class="desc oneline">最近，有关程序员因为参与某些项目开发导致被起诉，甚至被判刑的事件发生的比较多：
某程序员因为接了个外包，帮别人写了个软件，结果这个软件被用于赌博导致被抓。
某公司利用爬虫抓取用户信息，最后被发现，导致...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/petterp/article/details/102779131","strategy":"BlogCommendHotData","index":"37"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/petterp/article/details/102779131","strategy":"BlogCommendHotData","index":"37"}'>
	<div class="content">
		<a href="https://blog.csdn.net/petterp/article/details/102779131" target="_blank"  rel="noopener" title="一文搞懂什么是TCP/IP协议">
		<h4 class="text-truncate oneline">
				一文搞懂什么是TCP/IP协议		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/petterp/article/details/102779131" target="_blank" rel="noopener" title="一文搞懂什么是TCP/IP协议">
				<span class="desc oneline">什么是TCP/IP协议?

计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102781027","strategy":"BlogCommendHotData","index":"38"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/m0_37907797/article/details/102781027","strategy":"BlogCommendHotData","index":"38"}'>
	<div class="content">
		<a href="https://blog.csdn.net/m0_37907797/article/details/102781027" target="_blank"  rel="noopener" title="大学四年自学走来，这些私藏的实用工具/学习网站我贡献出来了">
		<h4 class="text-truncate oneline">
				大学四年自学走来，这些私藏的实用工具/学习网站我贡献出来了		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					10万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/m0_37907797/article/details/102781027" target="_blank" rel="noopener" title="大学四年自学走来，这些私藏的实用工具/学习网站我贡献出来了">
				<span class="desc oneline">大学四年，看课本是不可能一直看课本的了，对于学习，特别是自学，善于搜索网上的一些资源来辅助，还是非常有必要的，下面我就把这几年私藏的各种资源，网站贡献出来给你们。主要有：电子书搜索、实用工具、在线视频...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qing_gee/article/details/102781522","strategy":"BlogCommendHotData","index":"39"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qing_gee/article/details/102781522","strategy":"BlogCommendHotData","index":"39"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qing_gee/article/details/102781522" target="_blank"  rel="noopener" title="学习 Java 应该关注哪些网站？">
		<h4 class="text-truncate oneline">
				学习 Java 应该关注哪些网站？		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qing_gee/article/details/102781522" target="_blank" rel="noopener" title="学习 Java 应该关注哪些网站？">
				<span class="desc oneline">经常有一些读者问我：“二哥，学习 Java 应该关注哪些网站？”，我之前的态度一直是上知乎、上搜索引擎搜一下不就知道了。但读者对我这个态度很不满意，他们说，“我在问你，又不是问知乎，问搜索引擎。”你还...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
<div class="recommend-item-box type_blog clearfix" data-report-view='{"mod":"popu_614","dest":"https://blog.csdn.net/qing_gee/article/details/102784577","strategy":"BlogCommendHotData","index":"40"}' data-report-click='{"mod":"popu_614","dest":"https://blog.csdn.net/qing_gee/article/details/102784577","strategy":"BlogCommendHotData","index":"40"}'>
	<div class="content">
		<a href="https://blog.csdn.net/qing_gee/article/details/102784577" target="_blank"  rel="noopener" title="哪些 Java 知识不需要再学了">
		<h4 class="text-truncate oneline">
				哪些 Java 知识不需要再学了		</h4>
		<div class="info-box d-flex align-content-center">
			<p class="date-and-readNum oneline">
				<span class="date hover-show">10-28</span>
				<span class="read-num hover-hide">
					阅读数 
					1万+</span>
				</p>
			</div>
		</a>
		<p class="content">
			<a href="https://blog.csdn.net/qing_gee/article/details/102784577" target="_blank" rel="noopener" title="哪些 Java 知识不需要再学了">
				<span class="desc oneline">张无忌在学太极拳的时候，他爹的师父张三丰告诫他一定要把之前所学习的武功全部忘掉，忘得越多就会学得越快。
同样的，自学 Java 的时候一定要先知道哪些 Java 知识不需要再学了，毕竟技术的更新迭代就...</span>
			</a>
			<span class="blog_title_box oneline no-title">
									<span class="type-show type-show-blog type-show-after">博文</span>
												</span>
		</p>
	</div>
	</div>

	
	
                    <div class="recommend-item-box type_hot_word">
                                        <div class="content clearfix">
                        <div class="float-left">
                                                <span>
                            <a href="https://www.csdn.net/gather_19/NtjaMgwsLWRvd25sb2Fk.html" target="_blank">
                            c#俄罗斯方块源码</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_1b/NtjaMgxsLWRvd25sb2Fk.html" target="_blank">
                            c# linq原理</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_1a/NtjaMgysLWRvd25sb2Fk.html" target="_blank">
                            c# 装箱有什么用</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_12/NtjaMgzsLWRvd25sb2Fk.html" target="_blank">
                            c#集合 复制</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_16/NtjaMg0sLWRvd25sb2Fk.html" target="_blank">
                            c# 一个字符串分组</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_26/NtjaMg1sLWJsb2cO0O0O.html" target="_blank">
                            c++和c#哪个就业率高</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_1c/NtjaMg2sLWRvd25sb2Fk.html" target="_blank">
                            c# 批量动态创建控件</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_1a/NtjaMg3sLWRvd25sb2Fk.html" target="_blank">
                            c# 模块和程序集的区别</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_14/NtjaMg4sLWRvd25sb2Fk.html" target="_blank">
                            c# gmap 截图</a>
                        </span>
                                                <span>
                            <a href="https://www.csdn.net/gather_14/NtjaQgwsLWRvd25sb2Fk.html" target="_blank">
                            c# 验证码图片生成类</a>
                        </span>
                                                </div>
                    </div>
                                        </div>
                                    <div class="recommend-loading-box">
                    <img src='https://csdnimg.cn/release/phoenix/images/feedLoading.gif'>
                </div>
                <div class="recommend-end-box">
                    <p class="text-center">没有更多推荐了，<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
                </div>
            </div>
                            <div class="template-box">
                    <span>©️2019 CSDN</span><span class="point"></span>
                <span>皮肤主题: 编程工作室</span>
                <span> 设计师:
                                            CSDN官方博客                                    </span>
                </div>
                    </main>
        <aside class="blog_container_aside">
	<!--主页引入-->
            <div id="asideProfile" class="aside-box">
    <!-- <h3 class="aside-title">个人资料</h3> -->
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://blog.csdn.net/jw690114549">
                <img src="https://profile.csdnimg.cn/5/1/6/3_jw690114549" class="avatar_pic" username='jw690114549'>
                                    <img src="https://g.csdnimg.cn/static/user-reg-year/1x/4.png" class="user-years">
                            </a>
            
        </div>
        <div class="user-info d-flex flex-column profile-intro-name-box">
            <div>
                                <span class="name csdn-tracking-statistics tracking-click "   data-report-click='{"mod":"popu_379"}' username='jw690114549'>
                    <a href="https://blog.csdn.net/jw690114549" class="" id="uid" title='蒋狗'>
                        蒋狗                    </a>
                </span>
                            </div>
            <div class="profile-intro-name-boxFooter">
                                    <div class="personal-home-page" style='right:-96px;'><a target="_blank" href="https://me.csdn.net/jw690114549">TA的个人主页 ></a></div>
                                <div class="profile-intro-name-boxOpration">
                                            <div class='profile-personal-letter'>
                            <a id="profile-personal-alink" class='profile-personal-alink' href=https://im.csdn.net/im/main.html?userName=jw690114549 target="_blank" rel="noopener">私信</a>
                        </div>
                        <div class="opt-box d-flex  flex-column">
                            <span class="csdn-tracking-statistics tracking-click" data-report-click='{"mod":"popu_379"}'>
                                                                    <a class="btn btn-sm btn-red-hollow attention" id="btnAttent" style='padding:0;'>关注</a>
                                                            </span>
                        </div>
                                    </div>
            </div>
        </div>
    </div>
    <div class="data-info d-flex item-tiling">
                <dl class="text-center" title="34">
                            <dt><a href="https://blog.csdn.net/jw690114549?t=1">原创</a></dt>
                <dd><a href="https://blog.csdn.net/jw690114549?t=1"><span class="count">34</span></a></dd>
                    </dl>
        <dl class="text-center" id="fanBox" title="8">
            <dt>粉丝</dt>
            <dd><span class="count" id="fan">8</span></dd>
        </dl>
        <dl class="text-center" title="4">
            <dt>获赞</dt>
            <dd><span class="count">4</span></dd>
        </dl>
        <dl class="text-center" title="0">
            <dt>评论</dt>
            <dd><span class="count">0</span></dd>
        </dl>
        <dl class="text-center" title="49811">
            <dt>访问</dt>
            <dd><span class="count">4万+</span></dd>
        </dl>
    </div>
    <div class="grade-box clearfix">
        <dl class="aside-box-footerClassify">
            <dt>等级:</dt>
            <dd>
                <a href="https://blog.csdn.net/home/help.html#level" title="3级,点击查看等级说明" target="_blank">
                    <svg class="icon icon-level" aria-hidden="true">
                        <use xlink:href="#csdnc-bloglevel-3"></use>
                    </svg>
                </a>
            </dd>
        </dl>
        <dl>
            <dt>周排名:</dt>
            <dd>
                <a class="grade-box-rankA" href="https://blog.csdn.net/rank/writing_rank" target="_blank">
                    18万+                </a>
            </dd>
        </dl>
        <dl>
            <dt>积分:</dt>
            <dd title="791">
                791            </dd>
        </dl>
        <dl title="100029">
            <dt>总排名:</dt>
            <dd>
                <a class="grade-box-rankA" href="https://blog.csdn.net/rank/writing_rank_total" target="_blank">
                    10万+                </a>
            </dd>
        </dl>
    </div>
    <div class="aside-box-footer">
                
    </div>
</div>
<script>
    function watchBtnChange(flag, username) {
        $('span.blog-expert-button-follow').each(function(index) {
            if (flag) {
                if ($(this).attr("data-name") == username) {
                    $(this).html('<span class="hover-hide">已关注</span><span class="hover-show">取消</span>').removeClass('btn-red-follow').addClass('btn-gray-follow attented');
                }
            } else {
                if ($(this).attr("data-name") == username) {
                    $(this).html("关注").addClass('btn-red-follow').removeClass('btn-gray-follow attented');
                }
            }
        })
        if (username == $('p.csdn-tracking-statistics').attr("username")) {
            if (flag) {
                $('#btnAttent').addClass("attented").text("已关注").removeClass('btn-red-hollow').addClass('btn-gray-hollow');
                changeFans(1)
            } else {
                $('#btnAttent').text("关注").addClass('btn-red-hollow').removeClass('btn-gray-hollow attented');
                changeFans(-1)
            }
        }


    }

    function changeFans(num) {
        if ($('#fan').text().indexOf('+') < 0) {
            $('#fan').text(parseInt($('#fan').text()) + num);
        } else {
            $('#fanBox').attr('title', parseInt($('#fanBox').attr('title')) + num);
        }
    }
    window.csdn = window.csdn ? window.csdn : {};
    window.csdn.watchBtnChange = watchBtnChange;
</script><div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-report-click='{"mod":"popu_4"}' data-report-view='{"mod":"popu_4"}' style="height:250px;">
    <div class="aside-content text-center" id="cpro_u2734133">
      <div id="kp_box_56" data-pid="56"><script type="text/javascript">
    (function() {
        var s = "_" + Math.random().toString(36).slice(2);
        document.write('<div style="" id="' + s + '"></div>');
        (window.slotbydup = window.slotbydup || []).push({
            id: "u3032528",
            container:  s
        });
    })();
</script>
<!-- 多条广告如下脚本只需引入一次 -->
<script type="text/javascript" src="//cpro.baidustatic.com/cpro/ui/c.js" async="async" defer="defer" ></script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=56&a=76&c=0&k=&d=1&t=3&u=f23094c921174c679cc4ff35f8a1ebb9"></div>    </div>
</div>
<div id="asideNewArticle" class="aside-box">
    <h3 class="aside-title">最新文章</h3>
    <div class="aside-content">
        <ul class="inf_list clearfix csdn-tracking-statistics tracking-click" data-mod="popu_382">
                        <li class="clearfix">
                <a href="https://blog.csdn.net/jw690114549/article/details/78805647" target="_blank" >
                                        利用ab测试工具对Tornado下使用mongodb驱动的性能简单测试分析                </a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/jw690114549/article/details/78348057" target="_blank" >
                                        Python中协程（coroutine）的初步认识                </a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/jw690114549/article/details/78279232" target="_blank" >
                                        阿里云CentOS、Nginx、uWSGI、Flask部署简易博客                </a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/jw690114549/article/details/78255880" target="_blank" >
                                        Python中可迭代对象、迭代器和生成器相关                </a>
            </li>
                        <li class="clearfix">
                <a href="https://blog.csdn.net/jw690114549/article/details/75094468" target="_blank" >
                                        创建型模式：单例模式（Singleton）                </a>
            </li>
                    </ul>
    </div>
</div>
    <div id="asideCategory" class="aside-box"
         style="display:block!important;">
    <h3 class="aside-title">分类专栏</h3>
    <div class="aside-content">
        <ul>
                            <li class="">
                    <a class="clearfix"
                       href="https://blog.csdn.net/jw690114549/article/category/6843077">
                                                    <img src="https://img-blog.csdnimg.cn/20190918140012416.png" alt="">
                                                <span class="title oneline">python</span>
                                                    <span class="count float-right">25篇</span>
                                            </a>
                </li>
                            <li class="">
                    <a class="clearfix"
                       href="https://blog.csdn.net/jw690114549/article/category/6842967">
                                                    <img src="https://img-blog.csdnimg.cn/20190918140145169.png" alt="">
                                                <span class="title oneline">tornado</span>
                                                    <span class="count float-right">6篇</span>
                                            </a>
                </li>
                            <li class="">
                    <a class="clearfix"
                       href="https://blog.csdn.net/jw690114549/article/category/7012087">
                                                    <img src="https://img-blog.csdnimg.cn/20190927151101105.png" alt="">
                                                <span class="title oneline">设计模式</span>
                                                    <span class="count float-right">4篇</span>
                                            </a>
                </li>
                            <li class="">
                    <a class="clearfix"
                       href="https://blog.csdn.net/jw690114549/article/category/6350001">
                                                    <img src="https://img-blog.csdnimg.cn/20190927151043371.png" alt="">
                                                <span class="title oneline">odoo</span>
                                                    <span class="count float-right">3篇</span>
                                            </a>
                </li>
                    </ul>
    </div>
    </div>
<div id="asideArchive" class="aside-box flexible-box">
    <h3 class="aside-title">归档</h3>
    <div class="aside-content">
        <ul class="archive-list">
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2017/12">
                    2017年12月                    <span class="count float-right">1篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2017/11">
                    2017年11月                    <span class="count float-right">1篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2017/10">
                    2017年10月                    <span class="count float-right">2篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2017/07">
                    2017年7月                    <span class="count float-right">6篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2017/06">
                    2017年6月                    <span class="count float-right">2篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2017/04">
                    2017年4月                    <span class="count float-right">21篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2016/07">
                    2016年7月                    <span class="count float-right">1篇</span>
                </a>
            </li>
                        <!--归档统计-->
            <li>
                <a href="https://blog.csdn.net/jw690114549/article/month/2016/06">
                    2016年6月                    <span class="count float-right">2篇</span>
                </a>
            </li>
                    </ul>
    </div>
        <p class="text-center">
        <a class="btn btn-link-blue flexible-btn" data-fbox="aside-archive">展开</a>
    </p>
    </div>
<div id="asideHotArticle" class="aside-box">
	<h3 class="aside-title">热门文章</h3>
	<div class="aside-content">
		<ul class="hotArticle-list csdn-tracking-statistics tracking-click" data-report-view='{"mod":"popu_521"}'>
							<li>

					<a href="https://blog.csdn.net/jw690114549/article/details/69396267" >
                                                理解Python进程Process                    </a>
					<p class="read">阅读数 <span>16247</span></p>
				</li>
							<li>

					<a href="https://blog.csdn.net/jw690114549/article/details/69392129" >
                                                logging模块的简单使用以及tornado中的log简单介绍                    </a>
					<p class="read">阅读数 <span>4827</span></p>
				</li>
							<li>

					<a href="https://blog.csdn.net/jw690114549/article/details/51791414" >
                                                odoo 9.0创建自定义模块                    </a>
					<p class="read">阅读数 <span>3631</span></p>
				</li>
							<li>

					<a href="https://blog.csdn.net/jw690114549/article/details/69396277" >
                                                理解Python的PoolExecutor                    </a>
					<p class="read">阅读数 <span>3214</span></p>
				</li>
							<li>

					<a href="https://blog.csdn.net/jw690114549/article/details/69394233" >
                                                利用tornado write_error()方法异常提醒                    </a>
					<p class="read">阅读数 <span>2788</span></p>
				</li>
					</ul>
	</div>
</div>
    	<div id="asideFooter">
			
		<div class="aside-box">
			<div id="kp_box_57" data-pid="57"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 博客内页左下视窗-20181130 -->
<ins class="adsbygoogle"
     style="display:inline-block;width:300px;height:250px"
     data-ad-client="ca-pub-1076724771190722"
     data-ad-slot="1894159733"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script><img class="pre-img-lasy" data-src="https://kunyu.csdn.net/1.png?p=57&a=707&c=0&k=&d=1&t=3&u=8173df851808460287a3eb2d32ded8a8"></div>		</div>
				<div class="aside-box">
			<div class="persion_article">
			</div>
		</div>
	</div>
</aside>
<script src="https://csdnimg.cn/pubfooter/js/publib_footer-1.0.3.js" data-isfootertrack="false" type="text/javascript"></script>
<script>
	$("a.flexible-btn").click(function(){
		$(this).parents('div.aside-box').removeClass('flexible-box');
		$(this).remove();
	})
</script>
<script src="https://g.csdnimg.cn/user-tooltip/1.9/user-tooltip.js"  type="text/javascript"></script>
    </div>
                </div>

<div class="mask-dark"></div>
<div class="tool-box vertical">
    	<ul class="meau-list">
		<li class="btn-like-box long-width">
			<button class=" long-height hover-box btn-like " title="点赞">
				<svg class="icon active hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-thumbsup-ok"></use>
				</svg>
				<svg class="icon no-active hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-thumbsup"></use>
				</svg>
				<span class="hover-show text-box text">
					<span class="no-active">点赞</span>
					<span class="active">取消点赞</span>
				</span>
				<p id="supportCount">2</p>
			</button>
		</li>
		<li class="to-commentBox" id = 'sharePost' data-report-click='{"mod":"popu_794","dest":"https://blog.csdn.net/jw690114549/article/details/69396267"}'>
			<a class="btn-comments low-height hover-box" >
				<svg class="icon hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-share"></use>
				</svg>
				<span class="hover-show text">海报</span>
				<p class="">
				</p>
			</a>
			<a href="https://blogdev.blog.csdn.net/article/details/99646245" target="view_window">
				<div class = 'shareSuggest' id = 'shareSuggest'>
					分享海报说明
					<svg class="shareIcon" aria-hidden="true">
						<use xlink:href="#csdnc-help"></use>
					</svg>
					<div class = 'shareTriangle'></div>
				</div>
			</a>
		</li>
		<li class="to-commentBox">
						<a class="btn-comments low-height hover-box" title="写评论" href="#commentBox">
				<svg class="icon hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-comments"></use>
				</svg>
				<span class="hover-show text">评论</span>
				<p class="">
										</p>
			</a>
		</li>
		<li class="toc-container-box" id="liTocBox">
			<a class="btn-toc low-height hover-box btn-comments" title="目录">
				<svg class="icon hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-contents"></use>
				</svg>
				<span class="hover-show text">目录</span>
			</a>
			<div class="toc-container">
				<div class="pos-box">
					<div class="icon-arrow"></div>
					<div class="scroll-box">
						<div class="toc-box"></div>
					</div>
				</div>
				<div class="opt-box">
					<button class="btn-opt prev nomore" title="向上">
						<svg class="icon" aria-hidden="true">
							<use xlink:href="#csdnc-chevronup"></use>
						</svg>
					</button>
					<button class="btn-opt next">
						<svg class="icon" aria-hidden="true">
							<use xlink:href="#csdnc-chevrondown"></use>
						</svg>
					</button>
				</div>
			</div>

		</li>
		<li>
			<a class="btn-bookmark low-height hover-box btn-comments" title="收藏">
				<svg class="icon active hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-bookmark-ok"></use>
				</svg>
				<svg class="icon no-active hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-bookmark"></use>
				</svg>
					<span class="hover-show text">收藏</span>
				<!-- <span class="hover-show text-box text">
					<span class="no-active">收藏</span>
					<span class="active">取消收藏</span>
				</span> -->
			</a>
		</li>
		<li class="bdsharebuttonbox">
			<div class="weixin-qr btn-comments low-height hover-box" >
				<a id="btnQrShare" class="bds_weixin clear-share-style" title="手机看"></a>
				<svg class="icon hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-usephone"></use>
				</svg>
				<span class="hover-show text text3">
					手机看
				</span>
			</div>
		</li>
							<li class="widescreen-hide">
				<a class="prev btn-comments low-height hover-box" href="https://blog.csdn.net/jw690114549/article/details/69396252" title="理解Python线程Thread">
					<svg class="icon hover-hide" aria-hidden="true">
						<use xlink:href="#csdnc-chevronleft"></use>
					</svg>
					<span class="hover-show text text3">上一篇</span>
				</a>
			</li>
								<li class="widescreen-hide">
			<a class="next btn-comments hover-box low-height" href="https://blog.csdn.net/jw690114549/article/details/69396277" title="理解Python的PoolExecutor">
				<svg class="icon hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-chevronright"></use>
				</svg>
				<span class="hover-show text text3">下一篇</span>
			</a>
		</li>
						<!-- 宽屏更多按钮 -->
		<li class="widescreen-more">
			<a class="btn-comments chat-ask-button low-height hover-box" title="快问" href="#chatqa">
				<svg class="icon hover-hide" aria-hidden="true">
					<use xlink:href="#csdnc-more"></use>
				</svg>
				<span class="hover-show text">更多</span>
				
			</a>
			<ul class="widescreen-more-box">
													<li class="widescreen-more">
						<a class="btn-comments low-height hover-box" href="https://blog.csdn.net/jw690114549/article/details/69396252" title="理解Python线程Thread">
							<svg class="icon hover-hide" aria-hidden="true">
								<use xlink:href="#csdnc-chevronleft"></use>
							</svg>
							<span class="hover-show text text3">上一篇</span>
						</a>
					</li>
																<li class="widescreen-more">
					<a class="btn-comments hover-box low-height" href="https://blog.csdn.net/jw690114549/article/details/69396277" title="理解Python的PoolExecutor">
						<svg class="icon hover-hide" aria-hidden="true">
							<use xlink:href="#csdnc-chevronright"></use>
						</svg>
						<span class="hover-show text text3">下一篇</span>
					</a>
				</li>
							</ul>
		</li>
        		<li class="to-commentBox to-reward">
			<a class="btn-comments low-height hover-box" title="打赏">
				<svg class="hover-hide" width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
					<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
						<g transform="translate(-1398.000000, -486.000000)" fill-rule="nonzero">
							<g transform="translate(1398.000000, 486.000000)">
								<path d="M0,12 C0,16.287187 2.287187,20.2487113 6,22.3923048 C9.7128129,24.5358984 14.2871871,24.5358984 18,22.3923048 C21.712813,20.2487113 24,16.287187 24,12 C24,5.37258296 18.627417,0 12,0 C5.372583,0 0,5.37258296 0,12 Z" id="路径" fill-opacity="0.3" fill="#FF5A52"></path>
								<path d="M2.09340659,11.9505494 C2.09340659,15.4721673 3.97216734,18.7262766 7.02197798,20.4870856 C10.0717886,22.2478946 13.8293103,22.2478946 16.8791209,20.4870856 C19.9289316,18.7262766 21.8076923,15.4721673 21.8076923,11.9505494 C21.8076923,6.50659974 17.3944991,2.09340659 11.9505495,2.09340659 C6.50659977,2.09340659 2.09340659,6.50659974 2.09340659,11.9505494 Z" id="路径" fill="#F63D47"></path>
								<path d="M11.3005025,5.28638434 L12.7115578,5.28638434 L12.7115578,6.87854416 L14.1105528,6.87854416 C14.4,6.39607148 14.6592965,5.89550609 14.8884422,5.37081705 L16.1849246,5.82313519 C15.99799,6.23926787 15.7929648,6.58906055 15.5758794,6.88457507 L18,6.88457507 L18,9.84575109 L16.6733668,9.84575109 L16.6733668,8.03647857 L7.33869347,8.03647857 L7.33869347,9.85781291 L6,9.85781291 L6,6.87854416 L8.51457286,6.87854416 C8.31557789,6.52875147 8.08040201,6.1910206 7.80904523,5.86535155 L9.08140703,5.4009716 C9.39497488,5.80504246 9.67236181,6.29957695 9.92562814,6.88457507 L11.3065327,6.88457507 L11.3065327,5.28638434 L11.3005025,5.28638434 Z M12.8571429,13.9657994 C12.6552823,15.5675992 12.2332101,16.6234672 11.5848095,17.1394027 C10.8813559,17.8053195 9.1991844,18.2312662 6.54441188,18.4292415 L6,17.2233922 C8.22046642,17.1394027 9.68854339,16.8454395 10.3919969,16.3415024 C11.0098127,15.8735609 11.3768319,15.0456644 11.4930547,13.8578129 L12.8571429,13.9657994 Z M16.8571429,12.1435272 L16.8571429,15.9892245 L15.5161905,15.9892245 L15.5161905,13.3067319 L9.05523809,13.3067319 L9.05523809,16.1435272 L7.71428571,16.1435272 L7.71428571,12.1435272 L16.8571429,12.1435272 L16.8571429,12.1435272 Z M8.28571429,8.71495577 L15.7142857,8.71495577 L15.7142857,11.5720986 L8.28571429,11.5720986 L8.28571429,8.71495577 L8.28571429,8.71495577 Z M14.5714286,10.4292415 L14.5714286,9.28638434 L10,9.28638434 L10,10.4292415 L14.5714286,10.4292415 Z M12.9579832,16.1435272 C14.8187275,16.4853162 16.4993998,16.9018717 18,17.3931934 L17.2436975,18.4292415 C15.635054,17.8311106 13.9783914,17.3664911 12.2857143,17.0407235 L12.9579832,16.1435272 L12.9579832,16.1435272 Z" id="形状" fill="#FFFFFF"></path>
							</g>
						</g>
					</g>
				</svg>
				<span class="hover-show text">打赏</span>
			</a>
							<div id="reward" class="reward-box">
	<p class="rewad-title">打赏<span class="reward-close"><svg t="1567152543821" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10924" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12"><defs><style type="text/css"></style></defs><path d="M512 438.378667L806.506667 143.893333a52.032 52.032 0 1 1 73.6 73.621334L585.621333 512l294.485334 294.485333a52.074667 52.074667 0 0 1-73.6 73.642667L512 585.621333 217.514667 880.128a52.053333 52.053333 0 1 1-73.621334-73.642667L438.378667 512 143.893333 217.514667a52.053333 52.053333 0 1 1 73.621334-73.621334L512 438.378667z" fill="" p-id="10925"></path></svg></span></p>
	<dl>
		<dd><a href="javascript:;"><img src="https://profile.csdnimg.cn/5/1/6/3_jw690114549" alt=""></a></dd>
		<dt>
			<p class="blog-name">蒋狗</p>
			<p class="blog-discript">“你的鼓励将是我创作的最大动力”</p>
		</dt>
	</dl>
	<div class="money-box">
        			            	<span class="choosed choose_money" data-id="5">5C币</span>
			        							<span class="choose_money" data-id="10">10C币</span>
			        							<span class="choose_money" data-id="20">20C币</span>
			        							<span class="choose_money" data-id="50">50C币</span>
			        							<span class="choose_money" data-id="100">100C币</span>
			        							<span class="choose_money" data-id="200">200C币</span>
			        	</div>
	<div class="sure-box">
		<p class="is-have-money"><a class="reward-sure">确定</a></p>
	</div>
</div>

					</li>
        		<!--脉脉曝光外链-->
		<li>
			<a class="btn-maimai low-height hover-box btn-comments" title="脉脉" target="_blank" href="https://i.csdn.net/#/account/bind?utm_source=blogMaiMai">
				<svg class="hover-hide" width="24px" height="24px" viewBox="0 0 22 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
				<g  stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
					<g  transform="translate(-1355.000000, -433.000000)" fill-rule="nonzero">
						<g transform="translate(1355.000000, 433.000000)">
							<g >
								<path d="M11.9728475,0.371685864 L20.8834689,5.3746178 C21.5061808,5.72305759 21.8941017,6.38663874 21.8957175,7.10663874 L21.8957175,17.0074555 C21.8941017,17.7259476 21.5061808,18.3892775 20.8834689,18.7379686 L11.9728475,23.7405236 C11.3721356,24.0771518 10.6401695,24.0771518 10.0387119,23.7405236 L1.12858757,18.7379686 C0.504757062,18.3891518 0.11820339,17.725822 0.116587571,17.0074555 L0.116587571,7.10663874 C0.118451977,6.38663874 0.504757062,5.72305759 1.12858757,5.3746178 L10.0388362,0.371685864 C10.6401695,0.0341780105 11.371887,0.0341780105 11.9728475,0.371685864 L11.9728475,0.371685864 Z" id="路径" fill="#3FD9FF"></path>
								<path d="M11.1045311,1.93470157 C11.0426328,1.90102618 10.968678,1.90102618 10.9070282,1.93470157 L1.99777401,6.9373822 C1.936,6.97055497 1.89846328,7.03514136 1.8980904,7.10663874 L1.8980904,17.0074555 C1.8980904,17.0750576 1.936,17.1410262 1.99777401,17.1760838 L10.9070282,22.1777592 C10.968678,22.2124398 11.0426328,22.2124398 11.1045311,22.1777592 L20.0137853,17.1760838 C20.0749379,17.1419058 20.1139661,17.077445 20.1139661,17.0074555 L20.1139661,7.10663874 C20.1139661,7.03526702 20.0750621,6.97055497 20.0137853,6.9373822 L11.1045311,1.93470157 Z M11.9728475,0.371685864 L20.8834689,5.3746178 C21.5061808,5.72305759 21.8941017,6.38663874 21.8957175,7.10663874 L21.8957175,17.0074555 C21.8941017,17.7259476 21.5061808,18.3892775 20.8834689,18.7379686 L11.9728475,23.7405236 C11.3721356,24.0771518 10.6401695,24.0771518 10.0387119,23.7405236 L1.12858757,18.7379686 C0.504757062,18.3891518 0.11820339,17.725822 0.116587571,17.0074555 L0.116587571,7.10663874 C0.118451977,6.38663874 0.504757062,5.72305759 1.12858757,5.3746178 L10.0388362,0.371685864 C10.6401695,0.0341780105 11.371887,0.0341780105 11.9728475,0.371685864 L11.9728475,0.371685864 Z" id="形状" fill="#5296DE"></path>
							</g>
							<path d="M11.1045311,1.93470157 C11.0426328,1.90102618 10.968678,1.90102618 10.9070282,1.93470157 L1.99777401,6.9373822 C1.936,6.97055497 1.89846328,7.03514136 1.8980904,7.10663874 L1.8980904,17.0074555 C1.8980904,17.0750576 1.936,17.1410262 1.99777401,17.1760838 L10.9070282,22.1777592 C10.968678,22.2124398 11.0426328,22.2124398 11.1045311,22.1777592 L20.0137853,17.1760838 C20.0749379,17.1419058 20.1139661,17.077445 20.1139661,17.0074555 L20.1139661,7.10663874 C20.1139661,7.03526702 20.0750621,6.97055497 20.0137853,6.9373822 L11.1045311,1.93470157 Z" id="路径" fill="#3D5AB7"></path>
							<g  transform="translate(5.344633, 6.408377)">
								<rect fill="#F8A115" x="5.99692655" y="0.0796649215" width="3.84577401" height="1.0615288"></rect>
								<g fill="#FFFFFF">
									<path d="M2.61439548,0.0796649215 L1.16239548,0.0796649215 L0.374497175,0.0796649215 L0.111864407,0.0796649215 L0.111864407,11.6343455 L1.16214689,11.6343455 L1.16214689,8.10534031 L2.61439548,8.10534031 L2.61439548,11.6343455 L3.66430508,11.6343455 L3.66430508,0.0796649215 L3.30919774,0.0796649215 L2.61439548,0.0796649215 Z M2.61439548,7.04381152 L1.16239548,7.04381152 L1.16239548,4.57658639 L2.61451977,4.57658639 L2.61451977,7.04381152 L2.61439548,7.04381152 Z M1.16239548,3.51468063 L1.16239548,1.14119372 L2.61451977,1.14119372 L2.61451977,3.51480628 L1.16239548,3.51468063 L1.16239548,3.51468063 Z" id="形状"></path>
									<polygon id="路径" points="4.39776271 5.10747644 5.63684746 5.10747644 4.24102825 11.0423874 5.25563842 11.3176963 6.90526554 4.57658639 6.90824859 4.04569634 4.39776271 4.04569634"></polygon>
									<path d="M8.95114124,5.46056545 L11.093096,3.63656545 L10.416565,2.82458639 L8.35975141,4.5754555 L8.35975141,3.10856545 L8.35975141,2.55442932 L8.35975141,2.04703665 L5.16279096,2.04703665 L5.16279096,3.10856545 L7.30971751,3.10856545 L7.30971751,11.6343455 L8.35975141,11.6343455 L8.35975141,6.61118325 L10.7107684,11.1709319 L11.6419774,10.6802513 L8.95114124,5.46056545 Z M8.35987571,5.14517277 L8.35987571,5.11677487 L8.37640678,5.13662827 L8.35987571,5.14517277 Z" id="形状"></path>
								</g>
							</g>
						</g>
					</g>
				</g>
				</svg> 
				<img class="hover-show  maimai-bg" src="https://csdnimg.cn/release/phoenix/static_blog/images/maimai_bg.png?v1">
			</a>
		</li>
	</ul>
</div>
<div id = 'tool-post-common'>
	<div class = 'tool_post_box'>
		<img class = 'tool_post_img' src="https://csdnimg.cn/release/phoenix/write/assets/postShareBack.png" alt="">
		<div id = 'shareCode'></div>
	</div>
</div>
<div id="share-bg-shadow">
<div id="share-qrcode-box">
    <h3>分享到微信朋友圈</h3>
    <div class='qrcode-img-box'>
        <a class="btn-close">×</a>
        <div id='shareQrCode'></div>
	</div>
    <p>扫一扫，手机浏览</p>
</div>
</div>
<script>
		var imgReal = new Image();
		imgReal.src = "https://csdnimg.cn/release/phoenix/write/assets/postShareBack.png"
</script>
<script type=text/javascript crossorigin src="https://csdnimg.cn/release/phoenix/production/qrcode-7c90a92189.min.js"></script>
<script src="//g.csdnimg.cn/??sharewx/1.2.1/sharewx.js" type="text/javascript"></script>
<script src="https://g.csdnimg.cn/collection-box/1.1.2/collection-box.js?t=201908091" type="text/javascript"></script>
<script>
    var recommendCount = 80;
    recommendCount = recommendCount > 1 ? (recommendCount + (recommendCount>6 ? 2 : 1)) : recommendCount;
    var ChannelId = 16;
    var articleId = "69396267";
    var commentscount = 0;
    var islock = true;
    var curentUrl = "https://blog.csdn.net/jw690114549/article/details/69396267";
    var myUrl = "https://my.csdn.net/";
    //1禁止评论，2正常
    var commentAuth = 1;
    //百度搜索
    var baiduKey = "理解Python进程Process - 蒋狗的博客";
    var needInsertBaidu = true;
    // 代码段样式
    var codeStyle = '';
	var highlight = ["\u7406\u89e3","Python","\u8fdb\u7a0b","Process"];//高亮数组

    var share_card_url = 'https://blog.csdn.net/jw690114549/article/shareArticleCardPage?article_id=69396267'
    var RecommendBlogExpertList = {"0":{"user_name":"miaoqinian","nick_name":"miaoqinian","avatar":"https:\/\/profile.csdnimg.cn\/7\/1\/D\/3_miaoqinian","is_expert":false,"article_count":91,"rank":"\u5343\u91cc\u4e4b\u5916"},"1":{"user_name":"qq_33567641","nick_name":"Akaxian","avatar":"https:\/\/profile.csdnimg.cn\/A\/9\/4\/3_qq_33567641","is_expert":false,"article_count":82,"rank":"6000+"},"2":{"user_name":"liuxingen","nick_name":"NoneSec","avatar":"https:\/\/profile.csdnimg.cn\/F\/6\/E\/3_liuxingen","is_expert":false,"article_count":50,"rank":"\u5343\u91cc\u4e4b\u5916"},"3":{"user_name":"Tong_T","nick_name":"Tong_T","avatar":"https:\/\/profile.csdnimg.cn\/7\/F\/1\/3_tong_t","is_expert":false,"article_count":90,"rank":"3000+"},"5":{"user_name":"m0_37822685","nick_name":"PandaDou","avatar":"https:\/\/profile.csdnimg.cn\/B\/6\/7\/3_m0_37822685","is_expert":false,"article_count":68,"rank":"\u5343\u91cc\u4e4b\u5916"},"6":{"user_name":"qq_42784935","nick_name":"\u66f2\u5f84\u901a\u5e7d_\u82b1\u6728\u6df1","avatar":"https:\/\/profile.csdnimg.cn\/1\/C\/C\/3_qq_42784935","is_expert":false,"article_count":3,"rank":"\u5343\u91cc\u4e4b\u5916"},"7":{"user_name":"wangzhangni","nick_name":"wangzhangni","avatar":"https:\/\/profile.csdnimg.cn\/C\/3\/6\/3_wangzhangni","is_expert":false,"article_count":42,"rank":"\u5343\u91cc\u4e4b\u5916"},"8":{"user_name":"MyLinChi","nick_name":"MyLinChi","avatar":"https:\/\/profile.csdnimg.cn\/D\/E\/4\/3_mylinchi","is_expert":false,"article_count":244,"rank":"8000+"},"9":{"user_name":"u010459192","nick_name":"\u4e00\u540d\u53eb\u5927\u8549\u7684\u7a0b\u5e8f\u5458","avatar":"https:\/\/profile.csdnimg.cn\/7\/5\/4\/3_u010459192","is_expert":false,"article_count":199,"rank":"\u5343\u91cc\u4e4b\u5916"}};
	var articleType = 1;
	var CopyrightContent = '';
</script>
<script src="https://csdnimg.cn/public/sandalstrap/1.4/js/sandalstrap.min.js"></script>
<script src="https://csdnimg.cn/release/phoenix/vendor/pagination/paging-3d3b805766.js"></script>
<div class="skin-boxshadow"></div>
<div style="display:none;">
	<img src="" onerror='setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href="\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74"}},3000);'>
</div>
</body>
<script type="text/javascript" src="https://csdnimg.cn/release/phoenix/production/pc_wap_common-f91259fb12.js" /></script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.5.9/ckeditor/plugins/codesnippet/lib/highlight/styles/atom-one-light.css">
<script>
 // 全局声明
 if (window.csdn === undefined) {
      window.csdn = {};
    }
    window.csdn.sideToolbar = {
        options: {
            report:{
                isShow: true,
            },
            qr: {
                isShow: false,
            }
        }
    }
    $(function(){
        $(document).on('click',"a.option-box[data-type='report']",function() {
            showReport(false,articleTitles)
        });
    })
</script>
<script src="https://csdnimg.cn/release/phoenix/vendor/iconfont/csdnc-c439e66521.js"></script>
<script src="https://csdnimg.cn/release/phoenix/template/js/common-d90c3ecc7d.min.js"></script>
<script src="https://csdnimg.cn/release/phoenix/template/js/detail-ffbab56068.min.js"></script>
	<script src="https://csdnimg.cn/release/phoenix/themes/skin-yellow/skin-yellow-e2b6be7b58.min.js"></script>
<script src="//g.csdnimg.cn/??login-box/1.0.7/login-box.js,login-box/1.0.7/login-auto.js,copyright/1.0.3/copyright.js" type="text/javascript"></script>
<script>
    $(".MathJax").remove();
    if ($('div.markdown_views pre.prettyprint code.hljs').length > 0) {
        $('div.markdown_views')[0].className = 'markdown_views';
    }
    var persentSet = 1;
</script>
<script type="text/javascript" src="https://csdnimg.cn/release/blog_mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/x-mathjax-config">
    MathJax.Hub.Config({
            "HTML-CSS": {
                    linebreaks: { automatic: true, width: "94%container" },
                    imageFont: null
            },
            tex2jax: {
                preview: "none"
            },
            mml2jax: {
                preview: 'none'
            }
    });
</script>
    <script src="//g.csdnimg.cn/baidu-search/1.0.2/baidu-search.js"  type="text/javascript"></script>
</html>
